diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-10-07 17:19:52 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-10-07 17:19:52 +0900 |
| commit | e05acb8d18059c01e5789db043db82e4abfbd9d5 (patch) | |
| tree | dd55d03d88794e13d5d78333d0acc769da4f7a5a /src/server/api | |
| parent | Improve readability a little (diff) | |
| download | sharkey-e05acb8d18059c01e5789db043db82e4abfbd9d5.tar.gz sharkey-e05acb8d18059c01e5789db043db82e4abfbd9d5.tar.bz2 sharkey-e05acb8d18059c01e5789db043db82e4abfbd9d5.zip | |
後方互換性を追加
Diffstat (limited to 'src/server/api')
| -rw-r--r-- | src/server/api/stream/index.ts | 4 | ||||
| -rw-r--r-- | src/server/api/streaming.ts | 22 |
2 files changed, 24 insertions, 2 deletions
diff --git a/src/server/api/stream/index.ts b/src/server/api/stream/index.ts index 04136b3506..743d77b2a3 100644 --- a/src/server/api/stream/index.ts +++ b/src/server/api/stream/index.ts @@ -174,7 +174,7 @@ export default class Connection { * チャンネルに接続 */ @autobind - private connectChannel(id: string, params: any, channelClass: { new(id: string, connection: Connection): Channel }) { + public connectChannel(id: string, params: any, channelClass: { new(id: string, connection: Connection): Channel }) { const channel = new channelClass(id, this); this.channels.push(channel); channel.init(params); @@ -185,7 +185,7 @@ export default class Connection { * @param id チャンネルコネクションID */ @autobind - private disconnectChannel(id: string) { + public disconnectChannel(id: string) { const channel = this.channels.find(c => c.id === id); if (channel) { diff --git a/src/server/api/streaming.ts b/src/server/api/streaming.ts index 4518d21c3f..b7793eb284 100644 --- a/src/server/api/streaming.ts +++ b/src/server/api/streaming.ts @@ -5,6 +5,7 @@ import Xev from 'xev'; import MainStreamConnection from './stream'; import { ParsedUrlQuery } from 'querystring'; import authenticate from './authenticate'; +import channels from './stream/channels'; module.exports = (server: http.Server) => { // Init websocket server @@ -22,6 +23,27 @@ module.exports = (server: http.Server) => { const main = new MainStreamConnection(connection, ev, user, app); + // 後方互換性のため + if (request.resourceURL.pathname !== '/streaming') { + main.sendMessageToWs = (type: string, payload: any) => { + if (type == 'channel') { + type = payload.type; + payload = payload.body; + } + connection.send(JSON.stringify({ + type: type, + body: payload + })); + }; + if (request.resourceURL.pathname === '/') { + main.connectChannel(Math.random().toString(), null, + request.resourceURL.pathname === '/' ? channels.homeTimeline : + request.resourceURL.pathname === '/local-timeline' ? channels.localTimeline : + request.resourceURL.pathname === '/hybrid-timeline' ? channels.hybridTimeline : + request.resourceURL.pathname === '/global-timeline' ? channels.globalTimeline : null); + } + } + connection.once('close', () => { ev.removeAllListeners(); main.dispose(); |