@@ -220,7 +220,10 @@ export const setCacheControlHeaders = (
220
220
headers : Headers ,
221
221
request : Request ,
222
222
requestContext : RequestContext ,
223
+ useCentralCache : boolean
223
224
) => {
225
+ const centralCacheDirective = useCentralCache ? ', persist' : ''
226
+
224
227
if (
225
228
typeof requestContext . routeHandlerRevalidate !== 'undefined' &&
226
229
[ 'GET' , 'HEAD' ] . includes ( request . method ) &&
@@ -232,7 +235,7 @@ export const setCacheControlHeaders = (
232
235
// if we are serving already stale response, instruct edge to not attempt to cache that response
233
236
headers . get ( 'x-nextjs-cache' ) === 'STALE'
234
237
? 'public, max-age=0, must-revalidate'
235
- : `s-maxage=${ requestContext . routeHandlerRevalidate === false ? 31536000 : requestContext . routeHandlerRevalidate } , stale-while-revalidate=31536000`
238
+ : `s-maxage=${ requestContext . routeHandlerRevalidate === false ? 31536000 : requestContext . routeHandlerRevalidate } , stale-while-revalidate=31536000${ centralCacheDirective } `
236
239
237
240
headers . set ( 'netlify-cdn-cache-control' , cdnCacheControl )
238
241
return
@@ -259,7 +262,7 @@ export const setCacheControlHeaders = (
259
262
)
260
263
261
264
headers . set ( 'cache-control' , browserCacheControl || 'public, max-age=0, must-revalidate' )
262
- headers . set ( 'netlify-cdn-cache-control' , cdnCacheControl )
265
+ headers . set ( 'netlify-cdn-cache-control' , cdnCacheControl + centralCacheDirective )
263
266
return
264
267
}
265
268
0 commit comments