Source code
Revision control
Copy as Markdown
Other Tools
// A pass-through service worker: for requests carrying the sw_passthrough
// marker it re-issues the request itself via fetch(e.request) and returns the
// result. When such a request's redirect chain leaves this origin and returns
// to it (same-origin -> cross-origin -> same-origin), the response the worker
// returns is opaque even though its final URL is same-origin.
self.addEventListener('install', event => {
event.waitUntil(self.skipWaiting());
});
self.addEventListener('activate', event => {
event.waitUntil(self.clients.claim());
});
self.addEventListener('fetch', event => {
const url = new URL(event.request.url);
if (url.searchParams.has('sw_passthrough')) {
event.respondWith(fetch(event.request));
}
});