diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-12-26 16:04:56 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-12-26 16:04:56 +0900 |
| commit | d106fb39abf8fe17c00e562c1237fcacfe158345 (patch) | |
| tree | 5600e668f6048868f94958a722ab3bbe9cb078de /packages/backend/src/server | |
| parent | :art: (diff) | |
| download | sharkey-d106fb39abf8fe17c00e562c1237fcacfe158345.tar.gz sharkey-d106fb39abf8fe17c00e562c1237fcacfe158345.tar.bz2 sharkey-d106fb39abf8fe17c00e562c1237fcacfe158345.zip | |
feat: introduce fluent emoji
Diffstat (limited to 'packages/backend/src/server')
| -rw-r--r-- | packages/backend/src/server/web/ClientServerService.ts | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/backend/src/server/web/ClientServerService.ts b/packages/backend/src/server/web/ClientServerService.ts index 1932f88428..97acfcb919 100644 --- a/packages/backend/src/server/web/ClientServerService.ts +++ b/packages/backend/src/server/web/ClientServerService.ts @@ -217,6 +217,21 @@ export class ClientServerService { return reply.sendFile('/apple-touch-icon.png', staticAssets); }); + fastify.get<{ Params: { path: string } }>('/fluent-emoji/:path(.*)', async (request, reply) => { + const path = request.params.path; + + if (!path.match(/^[0-9a-f-]+\.png$/)) { + reply.code(404); + return; + } + + reply.header('Content-Security-Policy', 'default-src \'none\'; style-src \'unsafe-inline\''); + + return await reply.sendFile(path, `${_dirname}/../../../../../fluent-emojis/dist/`, { + maxAge: ms('30 days'), + }); + }); + fastify.get<{ Params: { path: string } }>('/twemoji/:path(.*)', async (request, reply) => { const path = request.params.path; |