Necesito que mi trabajador de servicio supervise las solicitudes de recuperación e incluya un valor de encabezado en la respuesta si la solicitud contiene una ruta determinada; sin embargo, este valor no se conoce hasta el tiempo de ejecución. Puedo usar postMessage() para enviar el valor y recibirlo en el detector de mensajes del sw, pero parece que no puedo usarlo en el detector de búsqueda.
aplicación.js
const customerUrl = "customerUrl.domain.com" //this will come from a setting const swr = new Worker('/sw.js') swr.postMessage(customerUrl)sw.js
let customerDomain = "foo.domain.com" self.addEventListener("message", (msg) => { console.log("Service Worker Message Recieved", msg.data) // "customerUrl.domain.com" customerDomain = msg.data console.log(customerDomain) // "customerUrl.domain.com" ... awesome }) self.addEventListener('fetch', evt => { console.log("Fetch intercepted for " + customerDomain) // "foo.sample.com" but needs to be "customerUrl.domain.com" if (evt.url.includes("/bar/")) { // ... modify request and send with customerDomain in header } }