Skip to content

Commit 9a5e26f

Browse files
authored
Merge pull request DSpace#2334 from 4Science/fix-bistream-download-cache
fix for bitstreams are not visible to crawlers when caching is enabled
2 parents 5331ff6 + 1630143 commit 9a5e26f

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

server.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff 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(/^20+/);
490+
return !rgx.test(statusCode)
491+
}
492+
482493
function retrieveHeaders(response) {
483494
const headers = Object.create({});
484495
if (Array.isArray(environment.cache.serverSide.headers) && environment.cache.serverSide.headers.length > 0) {

0 commit comments

Comments
 (0)