@Override public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { final Connector connector = baseRequest.getHttpChannel().getConnector(); for (Entry entry : entries) { // reference equality works fine — none of the connectors implement #equals(Object) if (entry.connector == connector) { entry.handler.handle(target, baseRequest, request, response); return; } } } }
@Override public void handle( String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response ) throws IOException, ServletException { HttpChannel httpChannel = baseRequest.getHttpChannel(); if ( httpChannel != null ) // if the channel is not null, all good, you handle yourself. { super.handle( target, baseRequest, request, response ); } else // if we do not have a real channel, then we just log ourselves { try { if ( _handler != null ) { _handler.handle( target, baseRequest, request, response ); } } finally { RequestLog requestLog = getRequestLog(); if ( requestLog != null && baseRequest.getDispatcherType() == DispatcherType.REQUEST ) { requestLog.log( baseRequest, (Response) response ); } } } } }
return true; HttpConfiguration httpConfig = Request.getBaseRequest(request).getHttpChannel().getHttpConfiguration();
public boolean isPushSupported() { return getHttpChannel().getHttpTransport().isPushSupported(); }
protected String getRemoteIP(Request baseRequest) { // Do we have a forwarded header set? if (_forwardedHeader!=null && !_forwardedHeader.isEmpty()) { // Yes, then try to get the remote IP from the header String remote = _rfc7239?getForwarded(baseRequest):getXForwardedFor(baseRequest); if (remote!=null && !remote.isEmpty()) return remote; } // If no remote IP from a header, determine it directly from the channel // Do not use the request methods, as they may have been lied to by the // RequestCustomizer! InetSocketAddress inet_addr = baseRequest.getHttpChannel().getRemoteAddress(); if (inet_addr!=null && inet_addr.getAddress()!=null) return inet_addr.getAddress().getHostAddress(); return null; }
@Override public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { final Connector connector = baseRequest.getHttpChannel().getConnector(); for (Entry entry : entries) { // reference equality works fine — none of the connectors implement #equals(Object) if (entry.connector == connector) { entry.handler.handle(target, baseRequest, request, response); return; } } } }
@Override public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (baseRequest.getDispatcherType()==DispatcherType.REQUEST) baseRequest.getHttpChannel().addRequestLog(_requestLog); if (_handler!=null) _handler.handle(target,baseRequest, request, response); }
@Override public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (baseRequest.getDispatcherType()==DispatcherType.REQUEST) baseRequest.getHttpChannel().addRequestLog(_requestLog); if (_handler!=null) _handler.handle(target,baseRequest, request, response); }
public boolean isPushSupported() { return !isPush() && getHttpChannel().getHttpTransport().isPushSupported(); }
protected void writeErrorPageBody(HttpServletRequest request, Writer writer, int code, String message, boolean showStacks) throws IOException { String uri= request.getRequestURI(); writeErrorPageMessage(request,writer,code,message,uri); if (showStacks) writeErrorPageStacks(request,writer); Request.getBaseRequest(request).getHttpChannel().getHttpConfiguration() .writePoweredBy(writer,"<hr>","<hr/>\n"); }
protected void writeErrorPageBody(HttpServletRequest request, Writer writer, int code, String message, boolean showStacks) throws IOException { String uri= request.getRequestURI(); writeErrorPageMessage(request,writer,code,message,uri); if (showStacks) writeErrorPageStacks(request,writer); Request.getBaseRequest(request).getHttpChannel().getHttpConfiguration() .writePoweredBy(writer,"<hr>","<hr/>\n"); }
@Override protected void closeConnection(HttpServletRequest request, HttpServletResponse response, Thread thread) { Request base_request=(request instanceof Request)?(Request)request:HttpChannel.getCurrentHttpChannel().getRequest(); base_request.getHttpChannel().getEndPoint().close(); } }
@Override protected void closeConnection(HttpServletRequest request, HttpServletResponse response, Thread thread) { Request base_request=(request instanceof Request)?(Request)request:HttpChannel.getCurrentHttpChannel().getRequest(); base_request.getHttpChannel().getEndPoint().close(); } }
@Override public void customize(Connector connector, HttpConfiguration channelConfig, Request request) { if (request.getHttpChannel().getEndPoint() instanceof DecryptedEndPoint) { request.setScheme(HttpScheme.HTTPS.asString()); request.setSecure(true); SslConnection.DecryptedEndPoint ssl_endp = (DecryptedEndPoint)request.getHttpChannel().getEndPoint(); SslConnection sslConnection = ssl_endp.getSslConnection(); SSLEngine sslEngine=sslConnection.getSSLEngine(); customize(sslEngine,request); } }
/** * @param cookies * The cookies to set. */ public void setCookies(Cookie[] cookies) { if (_cookies == null) _cookies = new CookieCutter(getHttpChannel().getHttpConfiguration().getCookieCompliance()); _cookies.setCookies(cookies); }
@Override public void customize(Connector connector, HttpConfiguration channelConfig, Request request) { if (request.getHttpChannel().getEndPoint() instanceof DecryptedEndPoint) { request.setScheme(HttpScheme.HTTPS.asString()); request.setSecure(true); SslConnection.DecryptedEndPoint ssl_endp = (DecryptedEndPoint)request.getHttpChannel().getEndPoint(); SslConnection sslConnection = ssl_endp.getSslConnection(); SSLEngine sslEngine=sslConnection.getSSLEngine(); customize(sslEngine,request); } }
@Override public void customize(Connector connector, HttpConfiguration channelConfig, Request request) { if (request.getHttpChannel().getEndPoint() instanceof DecryptedEndPoint) { request.setScheme(HttpScheme.HTTPS.asString()); request.setSecure(true); SslConnection.DecryptedEndPoint ssl_endp = (DecryptedEndPoint)request.getHttpChannel().getEndPoint(); SslConnection sslConnection = ssl_endp.getSslConnection(); SSLEngine sslEngine=sslConnection.getSSLEngine(); customize(sslEngine,request); } }
@Override public void customize(Connector connector, HttpConfiguration channelConfig, Request request) { if (request.getHttpChannel().getEndPoint() instanceof DecryptedEndPoint) { if (request.getHttpURI().getScheme()==null) request.setScheme(HttpScheme.HTTPS.asString()); SslConnection.DecryptedEndPoint ssl_endp = (DecryptedEndPoint)request.getHttpChannel().getEndPoint(); SslConnection sslConnection = ssl_endp.getSslConnection(); SSLEngine sslEngine=sslConnection.getSSLEngine(); customize(sslEngine,request); } if (HttpScheme.HTTPS.is(request.getScheme())) customizeSecure(request); }
private MultiParts newMultiParts(ServletInputStream inputStream, String contentType, MultipartConfigElement config, Object object) throws IOException { MultiPartFormDataCompliance compliance = getHttpChannel().getHttpConfiguration().getMultipartFormDataCompliance(); if(LOG.isDebugEnabled()) LOG.debug("newMultiParts {} {}",compliance, this); switch(compliance) { case RFC7578: return new MultiParts.MultiPartsHttpParser(getInputStream(), getContentType(), config, (_context != null?(File)_context.getAttribute("javax.servlet.context.tempdir"):null), this); case LEGACY: default: return new MultiParts.MultiPartsUtilParser(getInputStream(), getContentType(), config, (_context != null?(File)_context.getAttribute("javax.servlet.context.tempdir"):null), this); } }
@Override public void customize(Connector connector, HttpConfiguration channelConfig, Request request) { EndPoint endp = request.getHttpChannel().getEndPoint(); if (endp instanceof DecryptedEndPoint) { SslConnection.DecryptedEndPoint ssl_endp = (DecryptedEndPoint)endp; SslConnection sslConnection = ssl_endp.getSslConnection(); SSLEngine sslEngine=sslConnection.getSSLEngine(); customize(sslEngine,request); if (request.getHttpURI().getScheme()==null) request.setScheme(HttpScheme.HTTPS.asString()); } else if (endp instanceof ProxyConnectionFactory.ProxyEndPoint) { ProxyConnectionFactory.ProxyEndPoint proxy = (ProxyConnectionFactory.ProxyEndPoint)endp; if (request.getHttpURI().getScheme()==null && proxy.getAttribute(ProxyConnectionFactory.TLS_VERSION)!=null) request.setScheme(HttpScheme.HTTPS.asString()); } if (HttpScheme.HTTPS.is(request.getScheme())) customizeSecure(request); }