summaryrefslogtreecommitdiff
path: root/src/server/web
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/web')
-rw-r--r--src/server/web/index.ts4
-rw-r--r--src/server/web/url-preview.ts18
2 files changed, 14 insertions, 8 deletions
diff --git a/src/server/web/index.ts b/src/server/web/index.ts
index 6ceef17c1c..5ce040d083 100644
--- a/src/server/web/index.ts
+++ b/src/server/web/index.ts
@@ -49,8 +49,8 @@ const router = new Router();
//#region static assets
router.get('/assets/*', async ctx => {
- // 無圧縮スクリプトを用意するのは大変なので一時的に無効化
- const path = process.env.NODE_ENV == 'production' ? ctx.path.replace('raw.js', 'min.js') : ctx.path.replace('min.js', 'raw.js');
+ // 互換性のため
+ const path = ctx.path.replace('.raw.js', '.js').replace('.min.js', '.js');
await send(ctx, path, {
root: client,
maxage: ms('7 days'),
diff --git a/src/server/web/url-preview.ts b/src/server/web/url-preview.ts
index cd53837a25..99ee2eaebd 100644
--- a/src/server/web/url-preview.ts
+++ b/src/server/web/url-preview.ts
@@ -2,14 +2,20 @@ import * as Koa from 'koa';
import summaly from 'summaly';
module.exports = async (ctx: Koa.Context) => {
- const summary = await summaly(ctx.query.url);
- summary.icon = wrap(summary.icon);
- summary.thumbnail = wrap(summary.thumbnail);
+ try {
+ const summary = await summaly(ctx.query.url, {
+ followRedirects: false
+ });
+ summary.icon = wrap(summary.icon);
+ summary.thumbnail = wrap(summary.thumbnail);
- // Cache 7days
- ctx.set('Cache-Control', 'max-age=604800, immutable');
+ // Cache 7days
+ ctx.set('Cache-Control', 'max-age=604800, immutable');
- ctx.body = summary;
+ ctx.body = summary;
+ } catch (e) {
+ ctx.status = 500;
+ }
};
function wrap(url: string): string {