@@ -326,6 +326,38 @@ describe('Options', () => {
326326 } ) ;
327327} ) ;
328328
329+ describe ( 'Cache-Control' , ( ) => {
330+ it ( 'does not allow responses to be cached by default' , async ( ) => {
331+ const { server : innerServer , createRouter } = await server . setup ( setupDeps ) ;
332+ const router = createRouter ( '/' ) ;
333+
334+ router . get ( { path : '/' , validate : false , options : { } } , ( context , req , res ) => res . ok ( ) ) ;
335+ await server . start ( ) ;
336+
337+ await supertest ( innerServer . listener )
338+ . get ( '/' )
339+ . expect ( 'Cache-Control' , 'private, no-cache, no-store, must-revalidate' ) ;
340+ } ) ;
341+
342+ it ( 'allows individual responses override the default cache-control header' , async ( ) => {
343+ const { server : innerServer , createRouter } = await server . setup ( setupDeps ) ;
344+ const router = createRouter ( '/' ) ;
345+
346+ router . get ( { path : '/' , validate : false , options : { } } , ( context , req , res ) =>
347+ res . ok ( {
348+ headers : {
349+ 'Cache-Control' : 'public, max-age=1200' ,
350+ } ,
351+ } )
352+ ) ;
353+ await server . start ( ) ;
354+
355+ await supertest ( innerServer . listener )
356+ . get ( '/' )
357+ . expect ( 'Cache-Control' , 'public, max-age=1200' ) ;
358+ } ) ;
359+ } ) ;
360+
329361describe ( 'Handler' , ( ) => {
330362 it ( "Doesn't expose error details if handler throws" , async ( ) => {
331363 const { server : innerServer , createRouter } = await server . setup ( setupDeps ) ;
0 commit comments