String detect(final Netty4HttpRequest request, ThreadContext threadContext){ final String originalRemoteAddr = ((InetSocketAddress)request.getRemoteAddress()).getAddress().getHostAddress(); @SuppressWarnings("unused") final String originalProxiesHeader = request.header(proxiesHeader); final List<String> remoteIpHeaders = request.request().headers().getAll(remoteIpHeader); //X-Forwarded-For request.request().headers().remove(proxiesHeader); } else { String commaDelimitedListOfProxies = listToCommaDelimitedString(proxiesHeaderValue); request.request().headers().set(proxiesHeader,commaDelimitedListOfProxies); request.request().headers().remove(remoteIpHeader); } else { String commaDelimitedRemoteIpHeaderValue = listToCommaDelimitedString(newRemoteIpHeaderValue); request.request().headers().set(remoteIpHeader,commaDelimitedRemoteIpHeaderValue); final String originalRemoteHost = ((InetSocketAddress)request.getRemoteAddress()).getAddress().getHostName(); log.trace("Incoming request " + request.request().uri() + " with originalRemoteAddr '" + originalRemoteAddr + "', originalRemoteHost='" + originalRemoteHost + "', will be seen as newRemoteAddr='" + remoteIp); log.trace("Skip RemoteIpDetector for request " + request.request().uri() + " with originalRemoteAddr '" + request.getRemoteAddress() + "' cause no internal proxy matches");
/** * @param transport The corresponding <code>NettyHttpServerTransport</code> where this channel belongs to. * @param request The request that is handled by this channel. * @param pipelinedRequest If HTTP pipelining is enabled provide the corresponding pipelined request. May be null if * HTTP pipelining is disabled. * @param detailedErrorsEnabled true iff error messages should include stack traces. * @param threadContext the thread context for the channel */ Netty4HttpChannel( final Netty4HttpServerTransport transport, final Netty4HttpRequest request, final HttpPipelinedRequest pipelinedRequest, final boolean detailedErrorsEnabled, final ThreadContext threadContext) { super(request, detailedErrorsEnabled); this.transport = transport; this.channel = request.getChannel(); this.nettyRequest = request.request(); this.pipelinedRequest = pipelinedRequest; this.threadContext = threadContext; }
private Netty4HttpRequest requestWithoutParameters(final FullHttpRequest request, final Channel channel) { // remove all parameters as at least one is incorrectly encoded return new Netty4HttpRequest(serverTransport.xContentRegistry, Collections.emptyMap(), request.uri(), request, channel); }
final SslHandler sslhandler = (SslHandler) nettyHttpRequest.getChannel().pipeline().get("ssl_http");
/** * @param transport The corresponding <code>NettyHttpServerTransport</code> where this channel belongs to. * @param request The request that is handled by this channel. * @param pipelinedRequest If HTTP pipelining is enabled provide the corresponding pipelined request. May be null if * HTTP pipelining is disabled. * @param detailedErrorsEnabled true iff error messages should include stack traces. * @param threadContext the thread context for the channel */ Netty4HttpChannel( final Netty4HttpServerTransport transport, final Netty4HttpRequest request, final HttpPipelinedRequest pipelinedRequest, final boolean detailedErrorsEnabled, final ThreadContext threadContext) { super(request, detailedErrorsEnabled); this.transport = transport; this.channel = request.getChannel(); this.nettyRequest = request.request(); this.pipelinedRequest = pipelinedRequest; this.threadContext = threadContext; }
private Netty4HttpRequest requestWithoutParameters(final FullHttpRequest request, final Channel channel) { // remove all parameters as at least one is incorrectly encoded return new Netty4HttpRequest(serverTransport.xContentRegistry, Collections.emptyMap(), request.uri(), request, channel); }
/** * @param transport The corresponding <code>NettyHttpServerTransport</code> where this channel belongs to. * @param request The request that is handled by this channel. * @param pipelinedRequest If HTTP pipelining is enabled provide the corresponding pipelined request. May be null if * HTTP pipelining is disabled. * @param detailedErrorsEnabled true iff error messages should include stack traces. * @param threadContext the thread context for the channel */ Netty4HttpChannel( final Netty4HttpServerTransport transport, final Netty4HttpRequest request, final HttpPipelinedRequest pipelinedRequest, final boolean detailedErrorsEnabled, final ThreadContext threadContext) { super(request, detailedErrorsEnabled); this.transport = transport; this.channel = request.getChannel(); this.nettyRequest = request.request(); this.pipelinedRequest = pipelinedRequest; this.threadContext = threadContext; }
private Netty4HttpRequest requestWithoutParameters(final FullHttpRequest request, final Channel channel) { // remove all parameters as at least one is incorrectly encoded return new Netty4HttpRequest(serverTransport.xContentRegistry, Collections.emptyMap(), request.uri(), request, channel); }
String detect(final Netty4HttpRequest request, ThreadContext threadContext){ final String originalRemoteAddr = ((InetSocketAddress)request.getRemoteAddress()).getAddress().getHostAddress(); @SuppressWarnings("unused") final String originalProxiesHeader = request.header(proxiesHeader); final List<String> remoteIpHeaders = request.request().headers().getAll(remoteIpHeader); //X-Forwarded-For request.request().headers().remove(proxiesHeader); } else { String commaDelimitedListOfProxies = listToCommaDelimitedString(proxiesHeaderValue); request.request().headers().set(proxiesHeader,commaDelimitedListOfProxies); request.request().headers().remove(remoteIpHeader); } else { String commaDelimitedRemoteIpHeaderValue = listToCommaDelimitedString(newRemoteIpHeaderValue); request.request().headers().set(remoteIpHeader,commaDelimitedRemoteIpHeaderValue); final String originalRemoteHost = ((InetSocketAddress)request.getRemoteAddress()).getAddress().getHostName(); log.trace("Incoming request " + request.request().uri() + " with originalRemoteAddr '" + originalRemoteAddr + "', originalRemoteHost='" + originalRemoteHost + "', will be seen as newRemoteAddr='" + remoteIp); log.trace("Skip RemoteIpDetector for request " + request.request().uri() + " with originalRemoteAddr '" + request.getRemoteAddress() + "' cause no internal proxy matches");
/** * @param transport The corresponding <code>NettyHttpServerTransport</code> where this channel belongs to. * @param request The request that is handled by this channel. * @param pipelinedRequest If HTTP pipelining is enabled provide the corresponding pipelined request. May be null if * HTTP pipelining is disabled. * @param detailedErrorsEnabled true iff error messages should include stack traces. * @param threadContext the thread context for the channel */ Netty4HttpChannel( final Netty4HttpServerTransport transport, final Netty4HttpRequest request, final HttpPipelinedRequest pipelinedRequest, final boolean detailedErrorsEnabled, final ThreadContext threadContext) { super(request, detailedErrorsEnabled); this.transport = transport; this.channel = request.getChannel(); this.nettyRequest = request.request(); this.pipelinedRequest = pipelinedRequest; this.threadContext = threadContext; }
private Netty4HttpRequest requestWithoutContentTypeHeader( final FullHttpRequest request, final Channel channel, final Exception badRequestCause) { final HttpHeaders headersWithoutContentTypeHeader = new DefaultHttpHeaders(); headersWithoutContentTypeHeader.add(request.headers()); headersWithoutContentTypeHeader.remove("Content-Type"); final FullHttpRequest requestWithoutContentTypeHeader = new DefaultFullHttpRequest( request.protocolVersion(), request.method(), request.uri(), request.content(), headersWithoutContentTypeHeader, // remove the Content-Type header so as to not parse it again request.trailingHeaders()); // Content-Type can not be a trailing header try { return new Netty4HttpRequest(serverTransport.xContentRegistry, requestWithoutContentTypeHeader, channel); } catch (final RestRequest.BadParameterException e) { badRequestCause.addSuppressed(e); return requestWithoutParameters(requestWithoutContentTypeHeader, channel); } }
private Netty4HttpRequest requestWithoutContentTypeHeader( final FullHttpRequest request, final Channel channel, final Exception badRequestCause) { final HttpHeaders headersWithoutContentTypeHeader = new DefaultHttpHeaders(); headersWithoutContentTypeHeader.add(request.headers()); headersWithoutContentTypeHeader.remove("Content-Type"); final FullHttpRequest requestWithoutContentTypeHeader = new DefaultFullHttpRequest( request.protocolVersion(), request.method(), request.uri(), request.content(), headersWithoutContentTypeHeader, // remove the Content-Type header so as to not parse it again request.trailingHeaders()); // Content-Type can not be a trailing header try { return new Netty4HttpRequest(serverTransport.xContentRegistry, requestWithoutContentTypeHeader, channel); } catch (final RestRequest.BadParameterException e) { badRequestCause.addSuppressed(e); return requestWithoutParameters(requestWithoutContentTypeHeader, channel); } }
private Netty4HttpRequest requestWithoutContentTypeHeader( final FullHttpRequest request, final Channel channel, final Exception badRequestCause) { final HttpHeaders headersWithoutContentTypeHeader = new DefaultHttpHeaders(); headersWithoutContentTypeHeader.add(request.headers()); headersWithoutContentTypeHeader.remove("Content-Type"); final FullHttpRequest requestWithoutContentTypeHeader = new DefaultFullHttpRequest( request.protocolVersion(), request.method(), request.uri(), request.content(), headersWithoutContentTypeHeader, // remove the Content-Type header so as to not parse it again request.trailingHeaders()); // Content-Type can not be a trailing header try { return new Netty4HttpRequest(serverTransport.xContentRegistry, requestWithoutContentTypeHeader, channel); } catch (final RestRequest.BadParameterException e) { badRequestCause.addSuppressed(e); return requestWithoutParameters(requestWithoutContentTypeHeader, channel); } }
innerHttpRequest = new Netty4HttpRequest(serverTransport.xContentRegistry, copy, ctx.channel()); } catch (final RestRequest.ContentTypeHeaderException e) { badRequestCause = e; new Netty4HttpRequest( serverTransport.xContentRegistry,
innerHttpRequest = new Netty4HttpRequest(serverTransport.xContentRegistry, copy, ctx.channel()); } catch (final RestRequest.ContentTypeHeaderException e) { badRequestCause = e; new Netty4HttpRequest( serverTransport.xContentRegistry,
innerHttpRequest = new Netty4HttpRequest(serverTransport.xContentRegistry, copy, ctx.channel()); } catch (final RestRequest.ContentTypeHeaderException e) { badRequestCause = e; new Netty4HttpRequest( serverTransport.xContentRegistry,
final Netty4HttpRequest httpRequest; try { httpRequest = new Netty4HttpRequest(serverTransport.xContentRegistry, copy, ctx.channel()); } catch (Exception ex) { if (pipelinedRequest != null) {