summaryrefslogtreecommitdiff
path: root/src/server/web/url-preview.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2021-11-12 02:02:25 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2021-11-12 02:02:25 +0900
commit0e4a111f81cceed275d9bec2695f6e401fb654d8 (patch)
tree40874799472fa07416f17b50a398ac33b7771905 /src/server/web/url-preview.ts
parentupdate deps (diff)
downloadsharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.gz
sharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.bz2
sharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.zip
refactoring
Resolve #7779
Diffstat (limited to 'src/server/web/url-preview.ts')
-rw-r--r--src/server/web/url-preview.ts53
1 files changed, 0 insertions, 53 deletions
diff --git a/src/server/web/url-preview.ts b/src/server/web/url-preview.ts
deleted file mode 100644
index 1375420c0a..0000000000
--- a/src/server/web/url-preview.ts
+++ /dev/null
@@ -1,53 +0,0 @@
-import * as Koa from 'koa';
-import summaly from 'summaly';
-import { fetchMeta } from '@/misc/fetch-meta';
-import Logger from '@/services/logger';
-import config from '@/config/index';
-import { query } from '@/prelude/url';
-import { getJson } from '@/misc/fetch';
-
-const logger = new Logger('url-preview');
-
-module.exports = async (ctx: Koa.Context) => {
- const meta = await fetchMeta();
-
- logger.info(meta.summalyProxy
- ? `(Proxy) Getting preview of ${ctx.query.url}@${ctx.query.lang} ...`
- : `Getting preview of ${ctx.query.url}@${ctx.query.lang} ...`);
-
- try {
- const summary = meta.summalyProxy ? await getJson(`${meta.summalyProxy}?${query({
- url: ctx.query.url,
- lang: ctx.query.lang || 'ja-JP'
- })}`) : await summaly(ctx.query.url, {
- followRedirects: false,
- lang: ctx.query.lang || 'ja-JP'
- });
-
- logger.succ(`Got preview of ${ctx.query.url}: ${summary.title}`);
-
- summary.icon = wrap(summary.icon);
- summary.thumbnail = wrap(summary.thumbnail);
-
- // Cache 7days
- ctx.set('Cache-Control', 'max-age=604800, immutable');
-
- ctx.body = summary;
- } catch (e) {
- logger.warn(`Failed to get preview of ${ctx.query.url}: ${e}`);
- ctx.status = 200;
- ctx.set('Cache-Control', 'max-age=86400, immutable');
- ctx.body = '{}';
- }
-};
-
-function wrap(url?: string): string | null {
- return url != null
- ? url.match(/^https?:\/\//)
- ? `${config.url}/proxy/preview.jpg?${query({
- url,
- preview: '1'
- })}`
- : url
- : null;
-}