cache emoji response

This commit is contained in:
syuilo 2022-12-31 09:12:42 +09:00
parent 6f648fc058
commit 51d8d2abbf

View file

@ -228,6 +228,8 @@ export class ClientServerService {
return; return;
} }
reply.header('Cache-Control', 'public, max-age=3600');
const name = path.split('@')[0].replace('.webp', ''); const name = path.split('@')[0].replace('.webp', '');
const host = path.split('@')[1]?.replace('.webp', ''); const host = path.split('@')[1]?.replace('.webp', '');
@ -244,7 +246,7 @@ export class ClientServerService {
reply.header('Content-Security-Policy', 'default-src \'none\'; style-src \'unsafe-inline\''); reply.header('Content-Security-Policy', 'default-src \'none\'; style-src \'unsafe-inline\'');
const url = new URL("/proxy/emoji.webp", this.config.url); const url = new URL('/proxy/emoji.webp', this.config.url);
// || emoji.originalUrl してるのは後方互換性のためpublicUrlはstringなので??はだめ) // || emoji.originalUrl してるのは後方互換性のためpublicUrlはstringなので??はだめ)
url.searchParams.set('url', emoji.publicUrl || emoji.originalUrl); url.searchParams.set('url', emoji.publicUrl || emoji.originalUrl);
url.searchParams.set('emoji', '1'); url.searchParams.set('emoji', '1');
@ -347,15 +349,15 @@ export class ClientServerService {
fastify.get('/opensearch.xml', async (request, reply) => { fastify.get('/opensearch.xml', async (request, reply) => {
const meta = await this.metaService.fetch(); const meta = await this.metaService.fetch();
const name = meta.name || "Misskey"; const name = meta.name || 'Misskey';
let content = ""; let content = '';
content += `<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">`; content += '<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">';
content += `<ShortName>${name} Search</ShortName>`; content += `<ShortName>${name} Search</ShortName>`;
content += `<Description>${name} Search</Description>`; content += `<Description>${name} Search</Description>`;
content += `<InputEncoding>UTF-8</InputEncoding>`; content += '<InputEncoding>UTF-8</InputEncoding>';
content += `<Image width="16" height="16" type="image/x-icon">${this.config.url}/favicon.ico</Image>`; content += `<Image width="16" height="16" type="image/x-icon">${this.config.url}/favicon.ico</Image>`;
content += `<Url type="text/html" template="${this.config.url}/search?q={searchTerms}"/>`; content += `<Url type="text/html" template="${this.config.url}/search?q={searchTerms}"/>`;
content += `</OpenSearchDescription>`; content += '</OpenSearchDescription>';
reply.header('Content-Type', 'application/opensearchdescription+xml'); reply.header('Content-Type', 'application/opensearchdescription+xml');
return await reply.send(content); return await reply.send(content);