178b0d751d
1. Hardcoding breaks any image changes done on dev instances or locally. 2. The relative path is bad, and there are few more instances of it. But continue as is for now, will file a ticket to fix this. 3. Fix caching.
39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
const SIX_MONTHS_IN_SECONDS = 15552000;
|
|
|
|
const STATIC_ASSET_PATHS = [
|
|
'/public/font/font-v1.css',
|
|
'/public/font/v1/300.woff',
|
|
'/public/font/v1/300i.woff',
|
|
'/public/font/v1/400.woff',
|
|
'/public/font/v1/400i.woff',
|
|
'/public/font/v1/700.woff',
|
|
'/public/font/v1/700i.woff',
|
|
'/public/favicon.png', // LBRY icon
|
|
'/public/favicon-spaceman.png',
|
|
'/public/img/astronaut_n_friends.png',
|
|
'/public/img/busy.gif',
|
|
'/public/img/fileRenderPlaceholder.png',
|
|
'/public/img/gerbil-happy.png',
|
|
'/public/img/gerbil-sad.png',
|
|
'/public/img/placeholder.png',
|
|
'/public/img/placeholderTx.gif',
|
|
'/public/img/thumbnail-broken.png',
|
|
'/public/img/thumbnail-missing.png',
|
|
'/public/img/total-background.png',
|
|
];
|
|
|
|
async function redirectMiddleware(ctx, next) {
|
|
const {
|
|
request: { url },
|
|
} = ctx;
|
|
|
|
const HASHED_JS_REGEX = /^\/public\/.*[a-fA-F0-9]{12}\.js$/i;
|
|
|
|
if (STATIC_ASSET_PATHS.includes(url) || HASHED_JS_REGEX.test(url)) {
|
|
ctx.set('Cache-Control', `public, max-age=${SIX_MONTHS_IN_SECONDS}`);
|
|
}
|
|
|
|
return next();
|
|
}
|
|
|
|
module.exports = redirectMiddleware;
|