summaryrefslogtreecommitdiff
path: root/src/server/api/call.ts
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-07-16 03:43:36 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-07-16 03:43:36 +0900
commit1744316656f742dddc6f314aa8bc3289714f1311 (patch)
treefa5c69840097adc70a0f2e3278c52dfacf5efbf1 /src/server/api/call.ts
parent良い感じに (diff)
downloadmisskey-1744316656f742dddc6f314aa8bc3289714f1311.tar.gz
misskey-1744316656f742dddc6f314aa8bc3289714f1311.tar.bz2
misskey-1744316656f742dddc6f314aa8bc3289714f1311.zip
良い感じに
Diffstat (limited to 'src/server/api/call.ts')
-rw-r--r--src/server/api/call.ts31
1 files changed, 4 insertions, 27 deletions
diff --git a/src/server/api/call.ts b/src/server/api/call.ts
index eb3e292dc1..769ff95acd 100644
--- a/src/server/api/call.ts
+++ b/src/server/api/call.ts
@@ -1,35 +1,12 @@
-import * as path from 'path';
-import * as glob from 'glob';
-
-import Endpoint from './endpoint';
import limitter from './limitter';
import { IUser } from '../../models/user';
import { IApp } from '../../models/app';
+import endpoints from './endpoints';
-const files = glob.sync('**/*.js', {
- cwd: path.resolve(__dirname + '/endpoints/')
-});
-
-const endpoints: Array<{
- exec: any,
- meta: Endpoint
-}> = files.map(f => {
- const ep = require('./endpoints/' + f);
-
- ep.meta = ep.meta || {};
- ep.meta.name = f.replace('.js', '');
-
- return {
- exec: ep.default,
- meta: ep.meta
- };
-});
-
-export default (endpoint: string | Endpoint, user: IUser, app: IApp, data: any, file?: any) => new Promise<any>(async (ok, rej) => {
+export default (endpoint: string, user: IUser, app: IApp, data: any, file?: any) => new Promise<any>(async (ok, rej) => {
const isSecure = user != null && app == null;
- const epName = typeof endpoint === 'string' ? endpoint : endpoint.name;
- const ep = endpoints.find(e => e.meta.name === epName);
+ const ep = endpoints.find(e => e.name === endpoint);
if (ep.meta.secure && !isSecure) {
return rej('ACCESS_DENIED');
@@ -51,7 +28,7 @@ export default (endpoint: string | Endpoint, user: IUser, app: IApp, data: any,
if (ep.meta.requireCredential && ep.meta.limit) {
try {
- await limitter(ep.meta, user); // Rate limit
+ await limitter(ep, user); // Rate limit
} catch (e) {
// drop request if limit exceeded
return rej('RATE_LIMIT_EXCEEDED');