Redis必須に
This commit is contained in:
@ -8,12 +8,6 @@ import Logger from '../../services/logger';
|
||||
const logger = new Logger('limiter');
|
||||
|
||||
export default (endpoint: IEndpoint, user: User) => new Promise((ok, reject) => {
|
||||
// Redisがインストールされてない場合は常に許可
|
||||
if (limiterDB == null) {
|
||||
ok();
|
||||
return;
|
||||
}
|
||||
|
||||
const limitation = endpoint.meta.limit!;
|
||||
|
||||
const key = limitation.hasOwnProperty('key')
|
||||
|
@ -83,8 +83,6 @@ async function getOAuth2() {
|
||||
}
|
||||
|
||||
router.get('/connect/discord', async ctx => {
|
||||
if (redis == null) return;
|
||||
|
||||
if (!compareOrigin(ctx)) {
|
||||
ctx.throw(400, 'invalid origin');
|
||||
return;
|
||||
@ -110,8 +108,6 @@ router.get('/connect/discord', async ctx => {
|
||||
});
|
||||
|
||||
router.get('/signin/discord', async ctx => {
|
||||
if (redis == null) return;
|
||||
|
||||
const sessid = uuid();
|
||||
|
||||
const params = {
|
||||
@ -138,8 +134,6 @@ router.get('/signin/discord', async ctx => {
|
||||
});
|
||||
|
||||
router.get('/dc/cb', async ctx => {
|
||||
if (redis == null) return;
|
||||
|
||||
const userToken = getUserToken(ctx);
|
||||
|
||||
const oauth2 = await getOAuth2();
|
||||
@ -160,7 +154,7 @@ router.get('/dc/cb', async ctx => {
|
||||
}
|
||||
|
||||
const { redirect_uri, state } = await new Promise<any>((res, rej) => {
|
||||
redis!.get(sessid, async (_, state) => {
|
||||
redis.get(sessid, async (_, state) => {
|
||||
res(JSON.parse(state));
|
||||
});
|
||||
});
|
||||
@ -241,7 +235,7 @@ router.get('/dc/cb', async ctx => {
|
||||
}
|
||||
|
||||
const { redirect_uri, state } = await new Promise<any>((res, rej) => {
|
||||
redis!.get(userToken, async (_, state) => {
|
||||
redis.get(userToken, async (_, state) => {
|
||||
res(JSON.parse(state));
|
||||
});
|
||||
});
|
||||
|
@ -80,8 +80,6 @@ async function getOath2() {
|
||||
}
|
||||
|
||||
router.get('/connect/github', async ctx => {
|
||||
if (redis == null) return;
|
||||
|
||||
if (!compareOrigin(ctx)) {
|
||||
ctx.throw(400, 'invalid origin');
|
||||
return;
|
||||
@ -106,8 +104,6 @@ router.get('/connect/github', async ctx => {
|
||||
});
|
||||
|
||||
router.get('/signin/github', async ctx => {
|
||||
if (redis == null) return;
|
||||
|
||||
const sessid = uuid();
|
||||
|
||||
const params = {
|
||||
@ -133,8 +129,6 @@ router.get('/signin/github', async ctx => {
|
||||
});
|
||||
|
||||
router.get('/gh/cb', async ctx => {
|
||||
if (redis == null) return;
|
||||
|
||||
const userToken = getUserToken(ctx);
|
||||
|
||||
const oauth2 = await getOath2();
|
||||
@ -155,7 +149,7 @@ router.get('/gh/cb', async ctx => {
|
||||
}
|
||||
|
||||
const { redirect_uri, state } = await new Promise<any>((res, rej) => {
|
||||
redis!.get(sessid, async (_, state) => {
|
||||
redis.get(sessid, async (_, state) => {
|
||||
res(JSON.parse(state));
|
||||
});
|
||||
});
|
||||
@ -222,7 +216,7 @@ router.get('/gh/cb', async ctx => {
|
||||
}
|
||||
|
||||
const { redirect_uri, state } = await new Promise<any>((res, rej) => {
|
||||
redis!.get(userToken, async (_, state) => {
|
||||
redis.get(userToken, async (_, state) => {
|
||||
res(JSON.parse(state));
|
||||
});
|
||||
});
|
||||
|
@ -79,8 +79,6 @@ async function getTwAuth() {
|
||||
}
|
||||
|
||||
router.get('/connect/twitter', async ctx => {
|
||||
if (redis == null) return;
|
||||
|
||||
if (!compareOrigin(ctx)) {
|
||||
ctx.throw(400, 'invalid origin');
|
||||
return;
|
||||
@ -99,8 +97,6 @@ router.get('/connect/twitter', async ctx => {
|
||||
});
|
||||
|
||||
router.get('/signin/twitter', async ctx => {
|
||||
if (redis == null) return;
|
||||
|
||||
const twAuth = await getTwAuth();
|
||||
const twCtx = await twAuth!.begin();
|
||||
|
||||
@ -122,8 +118,6 @@ router.get('/signin/twitter', async ctx => {
|
||||
});
|
||||
|
||||
router.get('/tw/cb', async ctx => {
|
||||
if (redis == null) return;
|
||||
|
||||
const userToken = getUserToken(ctx);
|
||||
|
||||
const twAuth = await getTwAuth();
|
||||
@ -137,7 +131,7 @@ router.get('/tw/cb', async ctx => {
|
||||
}
|
||||
|
||||
const get = new Promise<any>((res, rej) => {
|
||||
redis!.get(sessid, async (_, twCtx) => {
|
||||
redis.get(sessid, async (_, twCtx) => {
|
||||
res(twCtx);
|
||||
});
|
||||
});
|
||||
@ -170,7 +164,7 @@ router.get('/tw/cb', async ctx => {
|
||||
}
|
||||
|
||||
const get = new Promise<any>((res, rej) => {
|
||||
redis!.get(userToken, async (_, twCtx) => {
|
||||
redis.get(userToken, async (_, twCtx) => {
|
||||
res(twCtx);
|
||||
});
|
||||
});
|
||||
|
@ -1,7 +1,6 @@
|
||||
import * as http from 'http';
|
||||
import * as websocket from 'websocket';
|
||||
import * as redis from 'redis';
|
||||
import Xev from 'xev';
|
||||
|
||||
import MainStreamConnection from './stream';
|
||||
import { ParsedUrlQuery } from 'querystring';
|
||||
@ -23,28 +22,24 @@ module.exports = (server: http.Server) => {
|
||||
|
||||
let ev: EventEmitter;
|
||||
|
||||
if (config.redis) {
|
||||
// Connect to Redis
|
||||
const subscriber = redis.createClient(
|
||||
config.redis.port, config.redis.host);
|
||||
// Connect to Redis
|
||||
const subscriber = redis.createClient(
|
||||
config.redis.port, config.redis.host);
|
||||
|
||||
subscriber.subscribe('misskey');
|
||||
subscriber.subscribe('misskey');
|
||||
|
||||
ev = new EventEmitter();
|
||||
ev = new EventEmitter();
|
||||
|
||||
subscriber.on('message', async (_, data) => {
|
||||
const obj = JSON.parse(data);
|
||||
subscriber.on('message', async (_, data) => {
|
||||
const obj = JSON.parse(data);
|
||||
|
||||
ev.emit(obj.channel, obj.message);
|
||||
});
|
||||
ev.emit(obj.channel, obj.message);
|
||||
});
|
||||
|
||||
connection.once('close', () => {
|
||||
subscriber.unsubscribe();
|
||||
subscriber.quit();
|
||||
});
|
||||
} else {
|
||||
ev = new Xev();
|
||||
}
|
||||
connection.once('close', () => {
|
||||
subscriber.unsubscribe();
|
||||
subscriber.quit();
|
||||
});
|
||||
|
||||
const main = new MainStreamConnection(connection, ev, user, app);
|
||||
|
||||
|
Reference in New Issue
Block a user