@@ -220,7 +220,6 @@ export const setCacheControlHeaders = (
220
220
. log ( 'NetlifyHeadersHandler.trailingSlashRedirect' )
221
221
}
222
222
223
- const cacheControl = headers . get ( 'cache-control' )
224
223
if ( status === 404 ) {
225
224
if ( request . url . endsWith ( '.php' ) ) {
226
225
// temporary CDN Cache Control handling for bot probes on PHP files
@@ -241,6 +240,8 @@ export const setCacheControlHeaders = (
241
240
}
242
241
}
243
242
243
+ const cacheControl = headers . get ( 'cache-control' )
244
+
244
245
if (
245
246
cacheControl !== null &&
246
247
[ 'GET' , 'HEAD' ] . includes ( request . method ) &&
@@ -273,6 +274,7 @@ export const setCacheControlHeaders = (
273
274
[ 'GET' , 'HEAD' ] . includes ( request . method ) &&
274
275
! headers . has ( 'cdn-cache-control' ) &&
275
276
! headers . has ( 'netlify-cdn-cache-control' ) &&
277
+ ! new URL ( request . url ) . pathname . startsWith ( '/api/' ) &&
276
278
requestContext . usedFsReadForNonFallback
277
279
) {
278
280
// handle CDN Cache Control on static files
@@ -281,13 +283,24 @@ export const setCacheControlHeaders = (
281
283
}
282
284
}
283
285
284
- export const setCacheTagsHeaders = ( headers : Headers , requestContext : RequestContext ) => {
285
- if (
286
- requestContext . responseCacheTags &&
287
- ( headers . has ( 'cache-control' ) || headers . has ( 'netlify-cdn-cache-control' ) )
288
- ) {
286
+ export const setCacheTagsHeaders = (
287
+ headers : Headers ,
288
+ request : Request ,
289
+ requestContext : RequestContext ,
290
+ ) => {
291
+ if ( ! headers . has ( 'cache-control' ) && ! headers . has ( 'netlify-cdn-cache-control' ) ) {
292
+ return
293
+ }
294
+
295
+ if ( requestContext . responseCacheTags ) {
289
296
headers . set ( 'netlify-cache-tag' , requestContext . responseCacheTags . join ( ',' ) )
297
+ return
290
298
}
299
+
300
+ const key = new URL ( request . url ) . pathname
301
+ const cacheTag = `_N_T_${ key === '/index' ? '/' : encodeURI ( key ) } `
302
+ console . log ( 'setCacheTagsHeaders' , 'netlify-cache-tag' , key )
303
+ headers . set ( 'netlify-cache-tag' , cacheTag )
291
304
}
292
305
293
306
/**
0 commit comments