@Override @Deprecated public DecoderResult getDecoderResult() { return request.getDecoderResult(); }
@Override public DecoderResult getDecoderResult() { return request.getDecoderResult(); }
@Override public DecoderResult getDecoderResult() { return request.getDecoderResult(); }
@Override @Deprecated public DecoderResult getDecoderResult() { return request.getDecoderResult(); }
@Override @Deprecated public DecoderResult getDecoderResult() { return request.getDecoderResult(); }
@Override @Deprecated public DecoderResult getDecoderResult() { return request.getDecoderResult(); }
@Override @Deprecated public DecoderResult getDecoderResult() { return request.getDecoderResult(); }
@Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { if (msg instanceof HttpRequest && ((HttpRequest) msg).getDecoderResult().isSuccess()) { requestOngoing = true; this.msg = msg; } else if (msg instanceof LastHttpContent) { requestOngoing = false; } super.channelRead(ctx, msg); }
isHttpRequest = true; HttpRequest httpRequest = (HttpRequest) msg; DecoderResult decoderResult = httpRequest.getDecoderResult(); if (decoderResult.isSuccess()) { eventsSubject.onEvent(HttpServerMetricsEvent.REQUEST_HEADERS_RECEIVED);
/*************************************************************************** * Reading **************************************************************************/ @Override protected ConnectionState readHTTPInitial(HttpRequest httpRequest) { LOG.debug("Received raw request: {}", httpRequest); // if we cannot parse the request, immediately return a 400 and close the connection, since we do not know what state // the client thinks the connection is in if (httpRequest.getDecoderResult().isFailure()) { LOG.debug("Could not parse request from client. Decoder result: {}", httpRequest.getDecoderResult().toString()); FullHttpResponse response = ProxyUtils.createFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.BAD_REQUEST, "Unable to parse HTTP request"); HttpHeaders.setKeepAlive(response, false); respondWithShortCircuitResponse(response); return DISCONNECT_REQUESTED; } boolean authenticationRequired = authenticationRequired(httpRequest); if (authenticationRequired) { LOG.debug("Not authenticated!!"); return AWAITING_PROXY_AUTHENTICATION; } else { return doReadHTTPInitial(httpRequest); } }
@Override public void messageReceived(ChannelHandlerContext ctx, HttpRequest request) throws Exception { if (!request.getDecoderResult().isSuccess()) { sendError(ctx, BAD_REQUEST); return; } MockHttpServletRequest servletRequest = createServletRequest(request); MockHttpServletResponse servletResponse = new MockHttpServletResponse(); this.servlet.service(servletRequest, servletResponse); HttpResponseStatus status = HttpResponseStatus.valueOf(servletResponse.getStatus()); HttpResponse response = new DefaultHttpResponse(HTTP_1_1, status); for (String name : servletResponse.getHeaderNames()) { for (Object value : servletResponse.getHeaderValues(name)) { response.addHeader(name, value); } } // Write the initial line and the header. ctx.write(response); InputStream contentStream = new ByteArrayInputStream(servletResponse.getContentAsByteArray()); // Write the content. ChannelFuture writeFuture = ctx.write(new ChunkedStream(contentStream)); writeFuture.addListener(ChannelFutureListener.CLOSE); }
/*************************************************************************** * Reading **************************************************************************/ @Override protected ConnectionState readHTTPInitial(HttpRequest httpRequest) { LOG.debug("Received raw request: {}", httpRequest); // if we cannot parse the request, immediately return a 400 and close the connection, since we do not know what state // the client thinks the connection is in if (httpRequest.getDecoderResult().isFailure()) { LOG.debug("Could not parse request from client. Decoder result: {}", httpRequest.getDecoderResult().toString()); FullHttpResponse response = ProxyUtils.createFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.BAD_REQUEST, "Unable to parse HTTP request"); HttpHeaders.setKeepAlive(response, false); respondWithShortCircuitResponse(response); return DISCONNECT_REQUESTED; } boolean authenticationRequired = authenticationRequired(httpRequest); if (authenticationRequired) { LOG.debug("Not authenticated!!"); return AWAITING_PROXY_AUTHENTICATION; } else { return doReadHTTPInitial(httpRequest); } }
@Override public void messageReceived(ChannelHandlerContext ctx, HttpRequest request) throws Exception { if (!request.getDecoderResult().isSuccess()) { sendError(ctx, BAD_REQUEST); return; } MockHttpServletRequest servletRequest = createServletRequest(request); MockHttpServletResponse servletResponse = new MockHttpServletResponse(); this.servlet.service(servletRequest, servletResponse); HttpResponseStatus status = HttpResponseStatus.valueOf(servletResponse.getStatus()); HttpResponse response = new DefaultHttpResponse(HTTP_1_1, status); for (String name : servletResponse.getHeaderNames()) { for (Object value : servletResponse.getHeaderValues(name)) { response.addHeader(name, value); } } // Write the initial line and the header. ctx.write(response); InputStream contentStream = new ByteArrayInputStream(servletResponse.getContentAsByteArray()); // Write the content. ChannelFuture writeFuture = ctx.write(new ChunkedStream(contentStream)); writeFuture.addListener(ChannelFutureListener.CLOSE); }
/*************************************************************************** * Reading **************************************************************************/ @Override protected ConnectionState readHTTPInitial(HttpRequest httpRequest) { LOG.debug("Received raw request: {}", httpRequest); // if we cannot parse the request, immediately return a 400 and close the connection, since we do not know what state // the client thinks the connection is in if (httpRequest.getDecoderResult().isFailure()) { LOG.debug("Could not parse request from client. Decoder result: {}", httpRequest.getDecoderResult().toString()); FullHttpResponse response = ProxyUtils.createFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.BAD_REQUEST, "Unable to parse HTTP request"); HttpHeaders.setKeepAlive(response, false); respondWithShortCircuitResponse(response); return DISCONNECT_REQUESTED; } boolean authenticationRequired = authenticationRequired(httpRequest); if (authenticationRequired) { LOG.debug("Not authenticated!!"); return AWAITING_PROXY_AUTHENTICATION; } else { return doReadHTTPInitial(httpRequest); } }
if (((HttpRequest) msg).getDecoderResult().isFailure()) { Throwable cause = ((HttpRequest) msg).getDecoderResult().cause(); if (request == null) { request = createRequest(ctx);