use of com.corundumstudio.socketio.messages.XHRPostMessage in project netty-socketio by mrniko.
the class PollingTransport method onPost.
private void onPost(UUID sessionId, ChannelHandlerContext ctx, String origin, ByteBuf content) throws IOException {
ClientHead client = clientsBox.get(sessionId);
if (client == null) {
log.error("{} is not registered. Closing connection", sessionId);
sendError(ctx);
return;
}
// release POST response before message processing
ctx.channel().writeAndFlush(new XHRPostMessage(origin, sessionId));
Boolean b64 = ctx.channel().attr(EncoderHandler.B64).get();
if (b64 != null && b64) {
Integer jsonIndex = ctx.channel().attr(EncoderHandler.JSONP_INDEX).get();
content = decoder.preprocessJson(jsonIndex, content);
}
ctx.pipeline().fireChannelRead(new PacketsMessage(client, content, Transport.POLLING));
}
use of com.corundumstudio.socketio.messages.XHRPostMessage in project netty-socketio by mrniko.
the class PollingTransport method handleMessage.
private void handleMessage(FullHttpRequest req, UUID sessionId, QueryStringDecoder queryDecoder, ChannelHandlerContext ctx) throws IOException {
String origin = req.headers().get(HttpHeaderNames.ORIGIN);
if (queryDecoder.parameters().containsKey("disconnect")) {
ClientHead client = clientsBox.get(sessionId);
client.onChannelDisconnect();
ctx.channel().writeAndFlush(new XHRPostMessage(origin, sessionId));
} else if (HttpMethod.POST.equals(req.method())) {
onPost(sessionId, ctx, origin, req.content());
} else if (HttpMethod.GET.equals(req.method())) {
onGet(sessionId, ctx, origin);
} else if (HttpMethod.OPTIONS.equals(req.method())) {
onOptions(sessionId, ctx, origin);
} else {
log.error("Wrong {} method invocation for {}", req.method(), sessionId);
sendError(ctx);
}
}
Aggregations