@Deprecated public class DefaultRequestDirector extends Object implements RequestDirector
RequestDirector 。
以下参数可用于自定义此类的行为:
CoreProtocolPNames.PROTOCOL_VERSION CoreProtocolPNames.STRICT_TRANSFER_ENCODING CoreProtocolPNames.HTTP_ELEMENT_CHARSET CoreProtocolPNames.USE_EXPECT_CONTINUE CoreProtocolPNames.WAIT_FOR_CONTINUE CoreProtocolPNames.USER_AGENT CoreConnectionPNames.SOCKET_BUFFER_SIZE CoreConnectionPNames.MAX_LINE_LENGTH CoreConnectionPNames.MAX_HEADER_COUNT CoreConnectionPNames.SO_TIMEOUT CoreConnectionPNames.SO_LINGER CoreConnectionPNames.SO_REUSEADDR CoreConnectionPNames.TCP_NODELAY CoreConnectionPNames.CONNECTION_TIMEOUT CoreConnectionPNames.STALE_CONNECTION_CHECK ConnRoutePNames.FORCED_ROUTE ConnRoutePNames.LOCAL_ADDRESS ConnRoutePNames.DEFAULT_PROXY CookieSpecPNames.DATE_PATTERNS CookieSpecPNames.SINGLE_COOKIE_HEADER AuthPNames.CREDENTIAL_CHARSET ClientPNames.COOKIE_POLICY ClientPNames.HANDLE_AUTHENTICATION ClientPNames.HANDLE_REDIRECTS ClientPNames.MAX_REDIRECTS ClientPNames.ALLOW_CIRCULAR_REDIRECTS ClientPNames.VIRTUAL_HOST ClientPNames.DEFAULT_HOST ClientPNames.DEFAULT_HEADERS ClientPNames.CONN_MANAGER_TIMEOUT | Modifier and Type | Method and Description |
|---|---|
protected HttpRequest |
createConnectRequest(HttpRoute route, HttpContext context)
已过时。
创建CONNECT隧道请求。
|
protected boolean |
createTunnelToProxy(HttpRoute route, int hop, HttpContext context)
已过时。
创建到中间代理的隧道。
|
protected boolean |
createTunnelToTarget(HttpRoute route, HttpContext context)
已过时。
创建到目标服务器的隧道。
|
protected HttpRoute |
determineRoute(HttpHost targetHost, HttpRequest request, HttpContext context)
已过时。
确定请求的路由。
|
protected void |
establishRoute(HttpRoute route, HttpContext context)
已过时。
建立目标路线。
|
HttpResponse |
execute(HttpHost targetHost, HttpRequest request, HttpContext context)
已过时。
执行请求
|
protected RoutedRequest |
handleResponse(RoutedRequest roureq, HttpResponse response, HttpContext context)
已过时。
分析一个回应,以检查后续需求。
|
protected void |
releaseConnection()
已过时。
将连接返回给连接管理器,并准备在下次请求期间检索新的连接。
|
protected void |
rewriteRequestURI(RequestWrapper request, HttpRoute route)
已过时。
|
protected final ClientConnectionManager connManager
protected final HttpRoutePlanner routePlanner
protected final ConnectionReuseStrategy reuseStrategy
protected final ConnectionKeepAliveStrategy keepAliveStrategy
protected final HttpRequestExecutor requestExec
protected final HttpProcessor httpProcessor
protected final HttpRequestRetryHandler retryHandler
@Deprecated protected final RedirectHandler redirectHandler
protected final RedirectStrategy redirectStrategy
@Deprecated protected final AuthenticationHandler targetAuthHandler
protected final AuthenticationStrategy targetAuthStrategy
@Deprecated protected final AuthenticationHandler proxyAuthHandler
protected final AuthenticationStrategy proxyAuthStrategy
protected final UserTokenHandler userTokenHandler
protected final HttpParams params
protected ManagedClientConnection managedConn
protected final AuthState targetAuthState
protected final AuthState proxyAuthState
@Deprecated public DefaultRequestDirector(HttpRequestExecutor requestExec, ClientConnectionManager conman, ConnectionReuseStrategy reustrat, ConnectionKeepAliveStrategy kastrat, HttpRoutePlanner rouplan, HttpProcessor httpProcessor, HttpRequestRetryHandler retryHandler, RedirectHandler redirectHandler, AuthenticationHandler targetAuthHandler, AuthenticationHandler proxyAuthHandler, UserTokenHandler userTokenHandler, HttpParams params)
@Deprecated public DefaultRequestDirector(org.apache.commons.logging.Log log, HttpRequestExecutor requestExec, ClientConnectionManager conman, ConnectionReuseStrategy reustrat, ConnectionKeepAliveStrategy kastrat, HttpRoutePlanner rouplan, HttpProcessor httpProcessor, HttpRequestRetryHandler retryHandler, RedirectStrategy redirectStrategy, AuthenticationHandler targetAuthHandler, AuthenticationHandler proxyAuthHandler, UserTokenHandler userTokenHandler, HttpParams params)
public DefaultRequestDirector(org.apache.commons.logging.Log log,
HttpRequestExecutor requestExec,
ClientConnectionManager conman,
ConnectionReuseStrategy reustrat,
ConnectionKeepAliveStrategy kastrat,
HttpRoutePlanner rouplan,
HttpProcessor httpProcessor,
HttpRequestRetryHandler retryHandler,
RedirectStrategy redirectStrategy,
AuthenticationStrategy targetAuthStrategy,
AuthenticationStrategy proxyAuthStrategy,
UserTokenHandler userTokenHandler,
HttpParams params)
protected void rewriteRequestURI(RequestWrapper request, HttpRoute route) throws ProtocolException
public HttpResponse execute(HttpHost targetHost, HttpRequest request, HttpContext context) throws HttpException, IOException
RequestDirector复制
注意:目前,每个请求都会实例化一个新的董事。 这与HttpClient 3中的HttpMethodDirector相同。
execute在接口
RequestDirector
targetHost - 请求的目标主机。
如果他们仍然可以确定路由,例如到默认目标或通过检查请求,那么实现可以接受null 。
request - 执行请求
context - 执行请求的上下文
HttpException - 出现问题时
IOException - 如果出现IO问题或连接中断
protected void releaseConnection()
protected HttpRoute determineRoute(HttpHost targetHost, HttpRequest request, HttpContext context) throws HttpException
execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)调用以确定原始或后续请求的路由。
targetHost - 请求的目标主机。
如果他们仍然可以确定路由,例如到默认目标或通过检查请求,实现可以接受null 。
request - 请求执行
context - 用于执行的上下文,从不
null
HttpException - 出现问题时
protected void establishRoute(HttpRoute route, HttpContext context) throws HttpException, IOException
route - 建立路线
context - 请求执行的上下文
HttpException - 在出现问题的情况下
IOException - 在IO问题的情况下
protected boolean createTunnelToTarget(HttpRoute route, HttpContext context) throws HttpException, IOException
route - 建立路线
context - 请求执行的上下文
true如果隧道路由安全,否则为false 。
这里的实现总是返回false ,但派生类可以覆盖。
HttpException - 出现问题的情况
IOException - 在IO问题的情况下
protected boolean createTunnelToProxy(HttpRoute route, int hop, HttpContext context) throws HttpException, IOException
route - 建立路由
hop - 现在建立的路线中的跳。
route.getHopTarget(hop)将返回代理隧道。
context - 请求执行的上下文
true如果部分隧道连接是安全的,
false否则。
HttpException - 在出现问题的情况下
IOException - 在出现IO问题的情况下
protected HttpRequest createConnectRequest(HttpRoute route, HttpContext context)
createTunnelToTarget 。
route - 建立路线
context - 请求执行的上下文
protected RoutedRequest handleResponse(RoutedRequest roureq, HttpResponse response, HttpContext context) throws HttpException, IOException
roureq - 请求和路由。
response - 对
response的回应
context - 用于当前请求执行的上下文
null如果响应应该返回为
HttpException - 出现问题时
IOException - 在IO问题的情况下
Copyright © 1999–2017 The Apache Software Foundation. All rights reserved.