summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/admin
diff options
context:
space:
mode:
authorMeiMei <30769358+mei23@users.noreply.github.com>2020-05-15 20:51:16 +0900
committerGitHub <noreply@github.com>2020-05-15 20:51:16 +0900
commit538ca2a7c7898b698d3c607e99ad32044c70c884 (patch)
treecf3d06ad1298b7bada1b6518b3556a16c8068a11 /src/server/api/endpoints/admin
parentApply blocked instance to LD-Signature host (#6355) (diff)
downloadsharkey-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.ts15
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);
});