@@ -146,16 +146,35 @@ describe('headers', () => {
146146 describe ( 'setCacheControlHeaders' , ( ) => {
147147 const defaultUrl = 'https://example.com'
148148
149- test ( 'should not set any headers if "cache-control" is not set' , ( ) => {
149+ test ( 'should not set any headers if "cache-control" is not set and "requestContext.usedFsRead" is not truthy ' , ( ) => {
150150 const headers = new Headers ( )
151151 const request = new Request ( defaultUrl )
152152 vi . spyOn ( headers , 'set' )
153153
154- setCacheControlHeaders ( headers , request )
154+ setCacheControlHeaders ( headers , request , { } )
155155
156156 expect ( headers . set ) . toHaveBeenCalledTimes ( 0 )
157157 } )
158158
159+ test ( 'should set permanent "netlify-cdn-cache-control" if "cache-control" is not set and "requestContext.usedFsRead" is truthy' , ( ) => {
160+ const headers = new Headers ( )
161+ const request = new Request ( defaultUrl )
162+ vi . spyOn ( headers , 'set' )
163+
164+ setCacheControlHeaders ( headers , request , { usedFsRead : true } )
165+
166+ expect ( headers . set ) . toHaveBeenNthCalledWith (
167+ 1 ,
168+ 'cache-control' ,
169+ 'public, max-age=0, must-revalidate' ,
170+ )
171+ expect ( headers . set ) . toHaveBeenNthCalledWith (
172+ 2 ,
173+ 'netlify-cdn-cache-control' ,
174+ 'max-age=31536000' ,
175+ )
176+ } )
177+
159178 test ( 'should not set any headers if "cache-control" is set and "cdn-cache-control" is present' , ( ) => {
160179 const givenHeaders = {
161180 'cache-control' : 'public, max-age=0, must-revalidate' ,
@@ -165,7 +184,7 @@ describe('headers', () => {
165184 const request = new Request ( defaultUrl )
166185 vi . spyOn ( headers , 'set' )
167186
168- setCacheControlHeaders ( headers , request )
187+ setCacheControlHeaders ( headers , request , { } )
169188
170189 expect ( headers . set ) . toHaveBeenCalledTimes ( 0 )
171190 } )
@@ -179,7 +198,7 @@ describe('headers', () => {
179198 const request = new Request ( defaultUrl )
180199 vi . spyOn ( headers , 'set' )
181200
182- setCacheControlHeaders ( headers , request )
201+ setCacheControlHeaders ( headers , request , { } )
183202
184203 expect ( headers . set ) . toHaveBeenCalledTimes ( 0 )
185204 } )
@@ -192,7 +211,7 @@ describe('headers', () => {
192211 const request = new Request ( defaultUrl )
193212 vi . spyOn ( headers , 'set' )
194213
195- setCacheControlHeaders ( headers , request )
214+ setCacheControlHeaders ( headers , request , { } )
196215
197216 expect ( headers . set ) . toHaveBeenNthCalledWith (
198217 1 ,
@@ -214,7 +233,7 @@ describe('headers', () => {
214233 const request = new Request ( defaultUrl , { method : 'HEAD' } )
215234 vi . spyOn ( headers , 'set' )
216235
217- setCacheControlHeaders ( headers , request )
236+ setCacheControlHeaders ( headers , request , { } )
218237
219238 expect ( headers . set ) . toHaveBeenNthCalledWith (
220239 1 ,
@@ -236,7 +255,7 @@ describe('headers', () => {
236255 const request = new Request ( defaultUrl , { method : 'POST' } )
237256 vi . spyOn ( headers , 'set' )
238257
239- setCacheControlHeaders ( headers , request )
258+ setCacheControlHeaders ( headers , request , { } )
240259
241260 expect ( headers . set ) . toHaveBeenCalledTimes ( 0 )
242261 } )
@@ -249,7 +268,7 @@ describe('headers', () => {
249268 const request = new Request ( defaultUrl )
250269 vi . spyOn ( headers , 'set' )
251270
252- setCacheControlHeaders ( headers , request )
271+ setCacheControlHeaders ( headers , request , { } )
253272
254273 expect ( headers . set ) . toHaveBeenNthCalledWith ( 1 , 'cache-control' , 'public' )
255274 expect ( headers . set ) . toHaveBeenNthCalledWith (
@@ -267,7 +286,7 @@ describe('headers', () => {
267286 const request = new Request ( defaultUrl )
268287 vi . spyOn ( headers , 'set' )
269288
270- setCacheControlHeaders ( headers , request )
289+ setCacheControlHeaders ( headers , request , { } )
271290
272291 expect ( headers . set ) . toHaveBeenNthCalledWith ( 1 , 'cache-control' , 'max-age=604800' )
273292 expect ( headers . set ) . toHaveBeenNthCalledWith (
@@ -285,7 +304,7 @@ describe('headers', () => {
285304 const request = new Request ( defaultUrl )
286305 vi . spyOn ( headers , 'set' )
287306
288- setCacheControlHeaders ( headers , request )
307+ setCacheControlHeaders ( headers , request , { } )
289308
290309 expect ( headers . set ) . toHaveBeenNthCalledWith (
291310 1 ,
0 commit comments