diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-04-13 19:19:32 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-04-13 19:19:32 +0900 |
| commit | e369031a28a7aae390d17d4d9f075c6f0df7fe55 (patch) | |
| tree | 4e0410685973c47b9c311f8a3ebf212310c9b701 /src | |
| parent | Fix bug (diff) | |
| download | sharkey-e369031a28a7aae390d17d4d9f075c6f0df7fe55.tar.gz sharkey-e369031a28a7aae390d17d4d9f075c6f0df7fe55.tar.bz2 sharkey-e369031a28a7aae390d17d4d9f075c6f0df7fe55.zip | |
Redis必須に
Diffstat (limited to 'src')
| -rw-r--r-- | src/db/redis.ts | 4 | ||||
| -rw-r--r-- | src/server/api/limiter.ts | 6 | ||||
| -rw-r--r-- | src/server/api/service/discord.ts | 10 | ||||
| -rw-r--r-- | src/server/api/service/github.ts | 10 | ||||
| -rw-r--r-- | src/server/api/service/twitter.ts | 10 | ||||
| -rw-r--r-- | src/server/api/streaming.ts | 31 | ||||
| -rw-r--r-- | src/services/stream.ts | 22 |
7 files changed, 25 insertions, 68 deletions
diff --git a/src/db/redis.ts b/src/db/redis.ts index cebf2a10af..6518cb0059 100644 --- a/src/db/redis.ts +++ b/src/db/redis.ts @@ -1,7 +1,7 @@ import * as redis from 'redis'; import config from '../config'; -export default config.redis ? redis.createClient( +export default redis.createClient( config.redis.port, config.redis.host, { @@ -9,4 +9,4 @@ export default config.redis ? redis.createClient( prefix: config.redis.prefix, db: config.redis.db || 0 } -) : null; +); diff --git a/src/server/api/limiter.ts b/src/server/api/limiter.ts index 8a6c94458e..48d12d3cc6 100644 --- a/src/server/api/limiter.ts +++ b/src/server/api/limiter.ts @@ -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') diff --git a/src/server/api/service/discord.ts b/src/server/api/service/discord.ts index b2561dee61..d8a979b5b2 100644 --- a/src/server/api/service/discord.ts +++ b/src/server/api/service/discord.ts @@ -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)); }); }); diff --git a/src/server/api/service/github.ts b/src/server/api/service/github.ts index 4878d8c529..a4d274cc62 100644 --- a/src/server/api/service/github.ts +++ b/src/server/api/service/github.ts @@ -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)); }); }); diff --git a/src/server/api/service/twitter.ts b/src/server/api/service/twitter.ts index b35ee8c479..39fdfd8654 100644 --- a/src/server/api/service/twitter.ts +++ b/src/server/api/service/twitter.ts @@ -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); }); }); diff --git a/src/server/api/streaming.ts b/src/server/api/streaming.ts index ab66f2b6d9..902c62ef98 100644 --- a/src/server/api/streaming.ts +++ b/src/server/api/streaming.ts @@ -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); diff --git a/src/services/stream.ts b/src/services/stream.ts index c52af48b59..28cb2057e2 100644 --- a/src/services/stream.ts +++ b/src/services/stream.ts @@ -1,33 +1,19 @@ import redis from '../db/redis'; -import Xev from 'xev'; import { User } from '../models/entities/user'; import { Note } from '../models/entities/note'; import { UserList } from '../models/entities/user-list'; import { ReversiGame } from '../models/entities/games/reversi/game'; class Publisher { - private ev: Xev | null = null; - - constructor() { - // Redisがインストールされてないときはプロセス間通信を使う - if (redis == null) { - this.ev = new Xev(); - } - } - private publish = (channel: string, type: string | null, value?: any): void => { const message = type == null ? value : value == null ? { type: type, body: null } : { type: type, body: value }; - if (this.ev) { - this.ev.emit(channel, message); - } else { - redis!.publish('misskey', JSON.stringify({ - channel: channel, - message: message - })); - } + redis.publish('misskey', JSON.stringify({ + channel: channel, + message: message + })); } public publishMainStream = (userId: User['id'], type: string, value?: any): void => { |