From a8f142096cebaa262e224f805bb58b68f28aefef Mon Sep 17 00:00:00 2001 From: MeiMei <30769358+mei23@users.noreply.github.com> Date: Sat, 11 Aug 2018 18:04:59 +0900 Subject: [PATCH] Cache failed url-preview (apply to proxy/client) (#2154) --- .../app/common/views/components/url-preview.vue | 14 ++++++++------ src/server/web/url-preview.ts | 4 +++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/client/app/common/views/components/url-preview.vue b/src/client/app/common/views/components/url-preview.vue index 4f1e34c6ca..34f2558c69 100644 --- a/src/client/app/common/views/components/url-preview.vue +++ b/src/client/app/common/views/components/url-preview.vue @@ -104,13 +104,15 @@ export default Vue.extend({ } fetch('/url?url=' + encodeURIComponent(this.url)).then(res => { res.json().then(info => { - this.title = info.title; - this.description = info.description; - this.thumbnail = info.thumbnail; - this.icon = info.icon; - this.sitename = info.sitename; + if (info.url != null) { + this.title = info.title; + this.description = info.description; + this.thumbnail = info.thumbnail; + this.icon = info.icon; + this.sitename = info.sitename; - this.fetching = false; + this.fetching = false; + } }); }); } diff --git a/src/server/web/url-preview.ts b/src/server/web/url-preview.ts index 99ee2eaebd..e96eb309fe 100644 --- a/src/server/web/url-preview.ts +++ b/src/server/web/url-preview.ts @@ -14,7 +14,9 @@ module.exports = async (ctx: Koa.Context) => { ctx.body = summary; } catch (e) { - ctx.status = 500; + ctx.status = 200; + ctx.set('Cache-Control', 'max-age=86400, immutable'); + ctx.body = '{}'; } };