Skip to content

Commit 69f9508

Browse files
committed
feat: pass request object to transportFetch for API scripts and update tests accordingly
1 parent 365fc26 commit 69f9508

2 files changed

Lines changed: 4 additions & 2 deletions

File tree

test/js/compat-pipeline.test.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,8 @@ test('service worker owns native request capture, CORS, and context recovery', (
9595
assert.equal(sw.includes('firstTab'), false);
9696
assert.equal(sw.includes('defaultContext'), false);
9797
assert.match(sw, /url\.protocol === 'http:' \|\| url\.protocol === 'https:'/);
98+
assert.match(sw, /apiScript[\s\S]*transportFetch\(target, \{ request: req, method: 'GET'/);
99+
assert.match(sw, /apiWorkerScript[\s\S]*transportFetch\(target, \{ request: req, method: 'GET'/);
98100
});
99101

100102
test('response bridge exposes a ReadableStream instead of buffering response bodies', () => {

web/sw.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,15 +187,15 @@ async function apiScript(req, url, clientId) {
187187
const refPolicy = url.searchParams.get('rp') || '';
188188
if (ref) headers.push(['X-ZP-Fetch-Referrer', ref]);
189189
if (refPolicy) headers.push(['X-ZP-Fetch-Referrer-Policy', refPolicy]);
190-
const resp = await transportFetch(target, { method: 'GET', headers, tab: resolved.tab, entryId: resolved.entryId });
190+
const resp = await transportFetch(target, { request: req, method: 'GET', headers, tab: resolved.tab, entryId: resolved.entryId });
191191
return rewriteScriptResponse(resp, { targetUrl: target, kind });
192192
}
193193

194194
async function apiWorkerScript(req, url, clientId) {
195195
const target = url.searchParams.get('u');
196196
const resolved = scriptRequestContext(req, url, clientId);
197197
if (!target || !resolved) return safeError('SW_NOT_READY', 503);
198-
return rewriteScriptResponse(await transportFetch(target, { method: 'GET', headers: [['Accept', 'text/javascript,*/*']], tab: resolved.tab, entryId: resolved.entryId }), { targetUrl: target, kind: 'worker' });
198+
return rewriteScriptResponse(await transportFetch(target, { request: req, method: 'GET', headers: [['Accept', 'text/javascript,*/*']], tab: resolved.tab, entryId: resolved.entryId }), { targetUrl: target, kind: 'worker' });
199199
}
200200

201201
async function transportFetch(targetUrl, opt) {

0 commit comments

Comments
 (0)