diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2020-05-15 20:51:16 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-05-15 20:51:16 +0900 |
| commit | 538ca2a7c7898b698d3c607e99ad32044c70c884 (patch) | |
| tree | cf3d06ad1298b7bada1b6518b3556a16c8068a11 /src/server/api/endpoints/admin | |
| parent | Apply blocked instance to LD-Signature host (#6355) (diff) | |
| download | sharkey-538ca2a7c7898b698d3c607e99ad32044c70c884.tar.gz sharkey-538ca2a7c7898b698d3c607e99ad32044c70c884.tar.bz2 sharkey-538ca2a7c7898b698d3c607e99ad32044c70c884.zip | |
リレーに不正なURLは追加できないように (#6351)
* リレーに不正なURLは追加できないように
* lint
Diffstat (limited to 'src/server/api/endpoints/admin')
| -rw-r--r-- | src/server/api/endpoints/admin/relays/add.ts | 15 |
1 files changed, 15 insertions, 0 deletions
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); }); |