1
packages/websocket/src/index.ts
Normal file
1
packages/websocket/src/index.ts
Normal file
@ -0,0 +1 @@
|
||||
import '@ms/nashorn'
|
21
packages/websocket/src/netty/httprequest.ts
Normal file
21
packages/websocket/src/netty/httprequest.ts
Normal file
@ -0,0 +1,21 @@
|
||||
/// <reference types="@ms/ployfill" />
|
||||
|
||||
const TypeParameterMatcher = Java.type('io.netty.util.internal.TypeParameterMatcher')
|
||||
const SimpleChannelInboundHandler = Java.type('io.netty.channel.SimpleChannelInboundHandler')
|
||||
const FullHttpRequestMatcher = TypeParameterMatcher.get(base.getClass('io.netty.handler.codec.http.FullHttpRequest'))
|
||||
|
||||
export default abstract class HttpRequestHandlerAdapter {
|
||||
private _Handler;
|
||||
constructor() {
|
||||
this._Handler == Java.extend(SimpleChannelInboundHandler, {
|
||||
acceptInboundMessage: (msg: any) => {
|
||||
return FullHttpRequestMatcher.match(msg)
|
||||
},
|
||||
channelRead0: this.channelRead0
|
||||
})
|
||||
}
|
||||
abstract channelRead0(ctx: any, msg: any);
|
||||
getHandler() {
|
||||
return this._Handler;
|
||||
}
|
||||
}
|
23
packages/websocket/src/netty/text_websocket_frame.ts
Normal file
23
packages/websocket/src/netty/text_websocket_frame.ts
Normal file
@ -0,0 +1,23 @@
|
||||
/// <reference types="@ms/ployfill" />
|
||||
|
||||
const TypeParameterMatcher = Java.type('io.netty.util.internal.TypeParameterMatcher')
|
||||
const TextWebSocketFrameMatcher = TypeParameterMatcher.get(base.getClass('io.netty.handler.codec.http.websocketx.TextWebSocketFrame'))
|
||||
const SimpleChannelInboundHandler = Java.type('io.netty.channel.SimpleChannelInboundHandler')
|
||||
|
||||
export default abstract class TextWebSocketFrameHandlerAdapter {
|
||||
private _Handler;
|
||||
constructor() {
|
||||
this._Handler == Java.extend(SimpleChannelInboundHandler, {
|
||||
userEventTriggered: this.userEventTriggered,
|
||||
acceptInboundMessage: (msg: any) => {
|
||||
return TextWebSocketFrameMatcher.match(msg)
|
||||
},
|
||||
channelRead0: this.channelRead0
|
||||
})
|
||||
}
|
||||
abstract userEventTriggered(ctx: any, evt: any);
|
||||
abstract channelRead0(ctx: any, msg: any);
|
||||
getHandler() {
|
||||
return this._Handler;
|
||||
}
|
||||
}
|
18
packages/websocket/src/netty/websocket.ts
Normal file
18
packages/websocket/src/netty/websocket.ts
Normal file
@ -0,0 +1,18 @@
|
||||
import '@ms/api'
|
||||
|
||||
const MiaoWebSocket = 'miaowebsocket'
|
||||
const CharsetUtil = Java.type('io.netty.util.CharsetUtil')
|
||||
const ChannelInboundHandlerAdapter = Java.type('io.netty.channel.ChannelInboundHandlerAdapter')
|
||||
|
||||
export default abstract class WebSocketHandlerAdapter {
|
||||
private _Handler;
|
||||
constructor() {
|
||||
this._Handler = Java.extend(ChannelInboundHandlerAdapter, {
|
||||
channelRead: this.channelRead
|
||||
})
|
||||
}
|
||||
abstract channelRead(ctx: any, msg: any);
|
||||
getHandler() {
|
||||
return this._Handler;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user