28 lines
974 B
TypeScript
28 lines
974 B
TypeScript
import { EventEmitter } from 'events'
|
|
import { WebSocketHandlerAdapter } from "./adapter"
|
|
import { ServerEvent } from '../socket-io/constants'
|
|
|
|
export class WebSocketDetect extends WebSocketHandlerAdapter {
|
|
private event: EventEmitter
|
|
constructor(event: EventEmitter) {
|
|
super()
|
|
this.event = event
|
|
}
|
|
channelRead(ctx: any, channel: any) {
|
|
this.event.emit(ServerEvent.detect, ctx, channel)
|
|
}
|
|
channelInactive(ctx: any) {
|
|
console.debug('WebSocketDetect channelUnregistered ' + ctx)
|
|
this.event.emit(ServerEvent.disconnect, ctx, 'client disconnect')
|
|
ctx.channelInactive()
|
|
}
|
|
channelUnregistered(ctx: any) {
|
|
console.debug('WebSocketDetect channelUnregistered ' + ctx)
|
|
this.event.emit(ServerEvent.disconnect, ctx, 'client disconnect')
|
|
ctx.fireChannelUnregistered()
|
|
}
|
|
exceptionCaught(ctx: any, cause: Error) {
|
|
this.event.emit(ServerEvent.error, ctx, cause)
|
|
}
|
|
}
|