File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -461,6 +461,8 @@ function saveToCache(req, page: any) {
461461 const key = getCacheKey ( req ) ;
462462 // Avoid caching "/reload/[random]" paths (these are hard refreshes after logout)
463463 if ( key . startsWith ( '/reload' ) ) { return ; }
464+ // Avoid caching not successful responses (status code different from 2XX status)
465+ if ( hasNotSucceeded ( req . res . statusCode ) ) { return ; }
464466
465467 // Retrieve response headers to save, if any
466468 const headers = retrieveHeaders ( req . res ) ;
@@ -479,6 +481,15 @@ function saveToCache(req, page: any) {
479481 }
480482}
481483
484+ /**
485+ * Check if status code is different from 2XX
486+ * @param statusCode
487+ */
488+ function hasNotSucceeded ( statusCode ) {
489+ const rgx = new RegExp ( / ^ 2 0 + / ) ;
490+ return ! rgx . test ( statusCode )
491+ }
492+
482493function retrieveHeaders ( response ) {
483494 const headers = Object . create ( { } ) ;
484495 if ( Array . isArray ( environment . cache . serverSide . headers ) && environment . cache . serverSide . headers . length > 0 ) {
You can’t perform that action at this time.
0 commit comments