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!" });
}
}