From 538ca2a7c7898b698d3c607e99ad32044c70c884 Mon Sep 17 00:00:00 2001 From: MeiMei <30769358+mei23@users.noreply.github.com> Date: Fri, 15 May 2020 20:51:16 +0900 Subject: リレーに不正なURLは追加できないように (#6351) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * リレーに不正なURLは追加できないように * lint --- src/server/api/endpoints/admin/relays/add.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/server/api') diff --git a/src/server/api/endpoints/admin/relays/add.ts b/src/server/api/endpoints/admin/relays/add.ts index 3ea6bcc73b..bcda1050e8 100644 --- a/src/server/api/endpoints/admin/relays/add.ts +++ b/src/server/api/endpoints/admin/relays/add.ts @@ -1,6 +1,7 @@ import $ from 'cafy'; import define from '../../../define'; import { addRelay } from '../../../../../services/relay'; +import { ApiError } from '../../../error'; export const meta = { desc: { @@ -17,8 +18,22 @@ export const meta = { validator: $.str }, }, + + errors: { + invalidUrl: { + message: 'Invalid URL', + code: 'INVALID_URL', + id: 'fb8c92d3-d4e5-44e7-b3d4-800d5cef8b2c' + }, + } }; export default define(meta, async (ps, user) => { + try { + if (new URL(ps.inbox).protocol !== 'https:') throw 'https only'; + } catch { + throw new ApiError(meta.errors.invalidUrl); + } + return await addRelay(ps.inbox); }); -- cgit v1.2.3-freya