responsesAreSame
First added
Workbox
About
Given two responses, compares several header values to see if they are the same or not.
Parameters
firstResponse
— The first response.secondResponse
— The second response.headersToCheck
— A list of headers to check.
Usage
import { responsesAreSame, BROADCAST_UPDATE_DEFAULT_HEADERS } from "serwist";
declare const self: ServiceWorkerGlobalScope;
const cacheName = "api-cache";
const request = new Request("https://example.com/api");
const cache = await caches.open(cacheName);
const oldResponse = await cache.match(request);
const newResponse = await fetch(request);
if (oldResponse && !responsesAreSame(oldResponse, newResponse, BROADCAST_UPDATE_DEFAULT_HEADERS)) {
const windows = await self.clients.matchAll({ type: "window" });
for (const win of windows) {
win.postMessage({ type: "CACHE_UPDATED", message: "Update now!" });
}
}