fix(service-worker): Cache-Control: no-cache on assets breaks service worker (#25408)

At the moment `cacheAge` can we undefined when having `Cache-Control` set to `no-cache` due the mapping method in `needToRevalidate`

Closes #25442

PR Close #25408
This commit is contained in:
Alan Agius
2018-08-13 20:59:03 +02:00
committed by Ben Lesh
parent be2cf4dfd6
commit 01ec5fd6b0
2 changed files with 11 additions and 2 deletions

View File

@ -193,9 +193,10 @@ export abstract class AssetGroup {
cacheDirectives.forEach(v => v[0] = v[0].toLowerCase());
// Find the max-age directive, if one exists.
const cacheAge = cacheDirectives.filter(v => v[0] === 'max-age').map(v => v[1])[0];
const maxAgeDirective = cacheDirectives.find(v => v[0] === 'max-age');
const cacheAge = maxAgeDirective ? maxAgeDirective[1] : undefined;
if (cacheAge.length === 0) {
if (!cacheAge) {
// No usable TTL defined. Must assume that the response is stale.
return true;
}