|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.http.impl.client.DefaultRequestDirector
@NotThreadSafe public class DefaultRequestDirector
Default implementation of RequestDirector.
The following parameters can be used to customize the behavior of this class:
CoreProtocolPNames.PROTOCOL_VERSIONCoreProtocolPNames.STRICT_TRANSFER_ENCODINGCoreProtocolPNames.HTTP_ELEMENT_CHARSETCoreProtocolPNames.USE_EXPECT_CONTINUECoreProtocolPNames.WAIT_FOR_CONTINUECoreProtocolPNames.USER_AGENTCoreConnectionPNames.SOCKET_BUFFER_SIZECoreConnectionPNames.MAX_LINE_LENGTHCoreConnectionPNames.MAX_HEADER_COUNTCoreConnectionPNames.SO_TIMEOUTCoreConnectionPNames.SO_LINGERCoreConnectionPNames.SO_REUSEADDRCoreConnectionPNames.TCP_NODELAYCoreConnectionPNames.CONNECTION_TIMEOUTCoreConnectionPNames.STALE_CONNECTION_CHECKConnRoutePNames.FORCED_ROUTEConnRoutePNames.LOCAL_ADDRESSConnRoutePNames.DEFAULT_PROXYCookieSpecPNames.DATE_PATTERNSCookieSpecPNames.SINGLE_COOKIE_HEADERAuthPNames.CREDENTIAL_CHARSETClientPNames.COOKIE_POLICYClientPNames.HANDLE_AUTHENTICATIONClientPNames.HANDLE_REDIRECTSClientPNames.MAX_REDIRECTSClientPNames.ALLOW_CIRCULAR_REDIRECTSClientPNames.VIRTUAL_HOSTClientPNames.DEFAULT_HOSTClientPNames.DEFAULT_HEADERSClientPNames.CONN_MANAGER_TIMEOUT
| Field Summary | |
|---|---|
protected ClientConnectionManager |
connManager
The connection manager. |
protected HttpProcessor |
httpProcessor
The HTTP protocol processor. |
protected ConnectionKeepAliveStrategy |
keepAliveStrategy
The keep-alive duration strategy. |
protected ManagedClientConnection |
managedConn
The currently allocated connection. |
protected HttpParams |
params
The HTTP parameters. |
protected AuthenticationHandler |
proxyAuthHandler
Deprecated. |
protected AuthState |
proxyAuthState
|
protected AuthenticationStrategy |
proxyAuthStrategy
The proxy authentication handler. |
protected RedirectHandler |
redirectHandler
Deprecated. |
protected RedirectStrategy |
redirectStrategy
The redirect strategy. |
protected HttpRequestExecutor |
requestExec
The request executor. |
protected HttpRequestRetryHandler |
retryHandler
The request retry handler. |
protected ConnectionReuseStrategy |
reuseStrategy
The connection re-use strategy. |
protected HttpRoutePlanner |
routePlanner
The route planner. |
protected AuthenticationHandler |
targetAuthHandler
Deprecated. |
protected AuthState |
targetAuthState
|
protected AuthenticationStrategy |
targetAuthStrategy
The target authentication handler. |
protected UserTokenHandler |
userTokenHandler
The user token handler. |
| Method Summary | |
|---|---|
protected HttpRequest |
createConnectRequest(HttpRoute route,
HttpContext context)
Creates the CONNECT request for tunnelling. |
protected boolean |
createTunnelToProxy(HttpRoute route,
int hop,
HttpContext context)
Creates a tunnel to an intermediate proxy. |
protected boolean |
createTunnelToTarget(HttpRoute route,
HttpContext context)
Creates a tunnel to the target server. |
protected HttpRoute |
determineRoute(HttpHost target,
HttpRequest request,
HttpContext context)
Determines the route for a request. |
protected void |
establishRoute(HttpRoute route,
HttpContext context)
Establishes the target route. |
HttpResponse |
execute(HttpHost target,
HttpRequest request,
HttpContext context)
Executes a request. |
protected RoutedRequest |
handleResponse(RoutedRequest roureq,
HttpResponse response,
HttpContext context)
Analyzes a response to check need for a followup. |
protected void |
releaseConnection()
Returns the connection back to the connection manager and prepares for retrieving a new connection during the next request. |
protected void |
rewriteRequestURI(RequestWrapper request,
HttpRoute route)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
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
| Constructor Detail |
|---|
@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)
| Method Detail |
|---|
protected void rewriteRequestURI(RequestWrapper request,
HttpRoute route)
throws ProtocolException
ProtocolException
public HttpResponse execute(HttpHost target,
HttpRequest request,
HttpContext context)
throws HttpException,
IOException
RequestDirectorHttpMethodDirector
in HttpClient 3.
execute in interface RequestDirectortarget - the target host for the request.
Implementations may accept null
if they can still determine a route, for example
to a default target or by inspecting the request.request - the request to executecontext - the context for executing the request
HttpException - in case of a problem
IOException - in case of an IO problem
or if the connection was abortedprotected void releaseConnection()
protected HttpRoute determineRoute(HttpHost target,
HttpRequest request,
HttpContext context)
throws HttpException
execute(org.apache.http.HttpHost, org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext)
to determine the route for either the original or a followup request.
target - the target host for the request.
Implementations may accept null
if they can still determine a route, for example
to a default target or by inspecting the request.request - the request to executecontext - the context to use for the execution,
never null
HttpException - in case of a problem
protected void establishRoute(HttpRoute route,
HttpContext context)
throws HttpException,
IOException
route - the route to establishcontext - the context for the request execution
HttpException - in case of a problem
IOException - in case of an IO problem
protected boolean createTunnelToTarget(HttpRoute route,
HttpContext context)
throws HttpException,
IOException
route - the route to establishcontext - the context for request execution
true if the tunnelled route is secure,
false otherwise.
The implementation here always returns false,
but derived classes may override.
HttpException - in case of a problem
IOException - in case of an IO problem
protected boolean createTunnelToProxy(HttpRoute route,
int hop,
HttpContext context)
throws HttpException,
IOException
route - the route to establishhop - the hop in the route to establish now.
route.getHopTarget(hop)
will return the proxy to tunnel to.context - the context for request execution
true if the partially tunnelled connection
is secure, false otherwise.
HttpException - in case of a problem
IOException - in case of an IO problem
protected HttpRequest createConnectRequest(HttpRoute route,
HttpContext context)
createTunnelToTarget.
route - the route to establishcontext - the context for request execution
protected RoutedRequest handleResponse(RoutedRequest roureq,
HttpResponse response,
HttpContext context)
throws HttpException,
IOException
roureq - the request and route.response - the response to analayzecontext - the context used for the current request execution
null if the response should be returned as is
HttpException - in case of a problem
IOException - in case of an IO problem
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||