summaryrefslogtreecommitdiff
path: root/packages/backend
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-01-21 13:20:09 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-01-21 13:20:09 +0900
commit0b4a7e8166318329883ebeb61d8376948e557cbc (patch)
treefa2360a5a89aec9a6ecb2d700f9bc5bdfe35c504 /packages/backend
parentUpdate CHANGELOG.md (diff)
downloadsharkey-0b4a7e8166318329883ebeb61d8376948e557cbc.tar.gz
sharkey-0b4a7e8166318329883ebeb61d8376948e557cbc.tar.bz2
sharkey-0b4a7e8166318329883ebeb61d8376948e557cbc.zip
enhance(server): set Cache-Control header for some routes
Diffstat (limited to 'packages/backend')
-rw-r--r--packages/backend/src/server/ServerService.ts7
1 files changed, 5 insertions, 2 deletions
diff --git a/packages/backend/src/server/ServerService.ts b/packages/backend/src/server/ServerService.ts
index 47d11ed0ae..eb6a3795eb 100644
--- a/packages/backend/src/server/ServerService.ts
+++ b/packages/backend/src/server/ServerService.ts
@@ -82,13 +82,13 @@ export class ServerService {
fastify.get<{ Params: { path: string }; Querystring: { static?: any; }; }>('/emoji/:path(.*)', async (request, reply) => {
const path = request.params.path;
+ reply.header('Cache-Control', 'public, max-age=86400');
+
if (!path.match(/^[a-zA-Z0-9\-_@\.]+?\.webp$/)) {
reply.code(404);
return;
}
- reply.header('Cache-Control', 'public, max-age=86400');
-
const name = path.split('@')[0].replace('.webp', '');
const host = path.split('@')[1]?.replace('.webp', '');
@@ -132,6 +132,8 @@ export class ServerService {
relations: ['avatar'],
});
+ reply.header('Cache-Control', 'public, max-age=86400');
+
if (user) {
reply.redirect(this.userEntityService.getAvatarUrlSync(user));
} else {
@@ -143,6 +145,7 @@ export class ServerService {
const [temp, cleanup] = await createTemp();
await genIdenticon(request.params.x, fs.createWriteStream(temp));
reply.header('Content-Type', 'image/png');
+ reply.header('Cache-Control', 'public, max-age=86400');
return fs.createReadStream(temp).on('close', () => cleanup());
});