@Override public boolean release() { return upgradeRequest.release(); }
@Override public boolean release(int decrement) { return upgradeRequest.release(decrement); }
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { if (msg instanceof FullHttpRequest) { ((FullHttpRequest) msg).release(); FullHttpResponse response = new DefaultFullHttpResponse(HTTP_1_1, HttpResponseStatus.FORBIDDEN); ctx.channel().writeAndFlush(response); } else { ctx.fireChannelRead(msg); } } };
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { if (msg instanceof FullHttpRequest) { FullHttpRequest req = (FullHttpRequest) msg; Channel channel = ctx.channel(); QueryStringDecoder queryDecoder = new QueryStringDecoder(req.uri()); HttpResponse res = new DefaultHttpResponse(HTTP_1_1, HttpResponseStatus.BAD_REQUEST); ChannelFuture f = channel.writeAndFlush(res); f.addListener(ChannelFutureListener.CLOSE); req.release(); log.warn("Blocked wrong socket.io-context request! url: {}, params: {}, ip: {}", queryDecoder.path(), queryDecoder.parameters(), channel.remoteAddress()); return; } super.channelRead(ctx, msg); }
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) { var req = (FullHttpRequest) msg; var uri = req.uri(); log.trace("In http and websocket unificator handler."); if (uri.equals("/")) { //for local server do redirect to admin page try { ctx.writeAndFlush(redirect(BLYNK_LANDING)); } finally { req.release(); } return; } else if (uri.startsWith(WEBSOCKET_PATH)) { initWebSocketPipeline(ctx, WEBSOCKET_PATH); } else { initHttpPipeline(ctx); } ctx.fireChannelRead(msg); }
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { SchedulerKey key = new SchedulerKey(Type.PING_TIMEOUT, ctx.channel()); disconnectScheduler.cancel(key); if (msg instanceof FullHttpRequest) { FullHttpRequest req = (FullHttpRequest) msg; Channel channel = ctx.channel(); QueryStringDecoder queryDecoder = new QueryStringDecoder(req.uri()); if (!configuration.isAllowCustomRequests() && !queryDecoder.path().startsWith(connectPath)) { HttpResponse res = new DefaultHttpResponse(HTTP_1_1, HttpResponseStatus.BAD_REQUEST); channel.writeAndFlush(res).addListener(ChannelFutureListener.CLOSE); req.release(); return; } List<String> sid = queryDecoder.parameters().get("sid"); if (queryDecoder.path().equals(connectPath) && sid == null) { String origin = req.headers().get(HttpHeaderNames.ORIGIN); if (!authorize(ctx, channel, origin, queryDecoder.parameters(), req)) { req.release(); return; } // forward message to polling or websocket handler to bind channel } } ctx.fireChannelRead(msg); }
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) { var req = (FullHttpRequest) msg; var uri = req.uri(); log.trace("In http and websocket unificator handler."); if (uri.equals("/")) { //for local server do redirect to admin page try { ctx.writeAndFlush(redirect(holder.props.isLocalRegion() ? rootPath : BLYNK_LANDING)); } finally { req.release(); } return; } else if (uri.startsWith(rootPath)) { initAdminPipeline(ctx); } else if (uri.startsWith(WEBSOCKET_PATH)) { initWebSocketPipeline(ctx, WEBSOCKET_PATH); } else if (uri.equals(WEBSOCKET_WEB_PATH)) { initWebDashboardSocket(ctx); } else { initHttpPipeline(ctx); } ctx.fireChannelRead(msg); }
@Override public boolean release() { return request.release(); }
@Override public boolean release(int decrement) { return request.release(decrement); }
@Override public boolean release(int decrement) { return upgradeRequest.release(decrement); }
@Override public boolean release() { return upgradeRequest.release(); }
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { if (msg instanceof FullHttpRequest) { ((FullHttpRequest) msg).release(); FullHttpResponse response = new DefaultFullHttpResponse(HTTP_1_1, HttpResponseStatus.FORBIDDEN); ctx.channel().writeAndFlush(response); } else { ctx.fireChannelRead(msg); } } };
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { if (msg instanceof FullHttpRequest) { ((FullHttpRequest) msg).release(); FullHttpResponse response = new DefaultFullHttpResponse(HTTP_1_1, HttpResponseStatus.FORBIDDEN); ctx.channel().writeAndFlush(response); } else { ctx.fireChannelRead(msg); } } };
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { if (msg instanceof FullHttpRequest) { ((FullHttpRequest) msg).release(); FullHttpResponse response = new DefaultFullHttpResponse(HTTP_1_1, HttpResponseStatus.FORBIDDEN); ctx.channel().writeAndFlush(response); } else { ctx.fireChannelRead(msg); } } };
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { if (msg instanceof FullHttpRequest) { ((FullHttpRequest) msg).release(); FullHttpResponse response = new DefaultFullHttpResponse(HTTP_1_1, HttpResponseStatus.FORBIDDEN); ctx.channel().writeAndFlush(response); } else { ctx.fireChannelRead(msg); } } };
public void reject() throws IOException { try { response.setStatus(HttpResponseStatus.SERVICE_UNAVAILABLE); response.close(); } finally { request.getHttpRequest().release(); } }