ms/packages/websocket/src/server/netty/text_websocket_frame.ts

26 lines
765 B
TypeScript

import { EventEmitter } from 'events'
import { ServerEvent } from '../'
import { TextWebSocketFrameHandlerAdapter } from './adapter'
import type { JavaServerOptions } from '../'
export class TextWebSocketFrameHandler extends TextWebSocketFrameHandlerAdapter {
private event: EventEmitter
constructor(options: JavaServerOptions) {
super()
this.event = options.event
}
userEventTriggered(ctx: any, evt: any) {
if (evt == 'HANDSHAKE_COMPLETE') {
this.event.emit(ServerEvent.connect, ctx)
}
}
channelRead0(ctx: any, msg: any) {
this.event.emit(ServerEvent.message, ctx, msg)
}
exceptionCaught(ctx: any, cause: Error) {
this.event.emit(ServerEvent.error, ctx, cause)
}
}