後方互換性を追加
This commit is contained in:
		
							parent
							
								
									10af684804
								
							
						
					
					
						commit
						e05acb8d18
					
				
					 2 changed files with 24 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -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) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue