HTTPCLIENT-689: parameter stack building moved to AbstractHttpClient
git-svn-id: https://svn.apache.org/repos/asf/jakarta/httpcomponents/httpclient/trunk@586567 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
bf541ba1fd
commit
13124872f7
|
@ -1,5 +1,8 @@
|
||||||
Changes since release 4.0 Alpha 1
|
Changes since release 4.0 Alpha 1
|
||||||
|
|
||||||
|
* [HTTPCLIENT-689] stackable parameters in AbstractHttpClient
|
||||||
|
Contributed by Roland Weber <rolandw at apache.org>
|
||||||
|
|
||||||
* [HTTPCLIENT-477] Use distinct instances of the authentication handler
|
* [HTTPCLIENT-477] Use distinct instances of the authentication handler
|
||||||
interface for authentication with target and proxy hosts
|
interface for authentication with target and proxy hosts
|
||||||
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
Contributed by Oleg Kalnichevski <olegk at apache.org>
|
||||||
|
|
|
@ -518,7 +518,7 @@ public abstract class AbstractHttpClient
|
||||||
getRedirectHandler(),
|
getRedirectHandler(),
|
||||||
getTargetAuthenticationHandler(),
|
getTargetAuthenticationHandler(),
|
||||||
getProxyAuthenticationHandler(),
|
getProxyAuthenticationHandler(),
|
||||||
getParams());
|
determineParams(roureq.getRequest()));
|
||||||
}
|
}
|
||||||
|
|
||||||
HttpResponse response = director.execute(roureq, context);
|
HttpResponse response = director.execute(roureq, context);
|
||||||
|
@ -533,6 +533,27 @@ public abstract class AbstractHttpClient
|
||||||
} // execute
|
} // execute
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Obtains parameters for executing a request.
|
||||||
|
* The default implementation in this class creates a new
|
||||||
|
* {@link ClientParamsStack} from the request parameters
|
||||||
|
* and the client parameters.
|
||||||
|
* <br/>
|
||||||
|
* This method is called by the default implementation of
|
||||||
|
* {@link #execute(RoutedRequest,HttpContext)}
|
||||||
|
* to obtain the parameters for the
|
||||||
|
* {@link DefaultClientRequestDirector}.
|
||||||
|
*
|
||||||
|
* @param req the request that will be executed
|
||||||
|
*
|
||||||
|
* @return the parameters to use
|
||||||
|
*/
|
||||||
|
protected HttpParams determineParams(HttpRequest req) {
|
||||||
|
return new ClientParamsStack
|
||||||
|
(null, getParams(), req.getParams(), null);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Determines the route for a request.
|
* Determines the route for a request.
|
||||||
* Called by {@link #execute(HttpUriRequest,HttpContext)
|
* Called by {@link #execute(HttpUriRequest,HttpContext)
|
||||||
|
|
|
@ -263,11 +263,6 @@ public class DefaultClientRequestDirector
|
||||||
|
|
||||||
HttpRequest orig = roureq.getRequest();
|
HttpRequest orig = roureq.getRequest();
|
||||||
|
|
||||||
//@@@ build the parameter stack in the client?
|
|
||||||
//@@@ that's the place to keep application and override params
|
|
||||||
final HttpParams stackedparams = new ClientParamsStack
|
|
||||||
(null, this.params, orig.getParams(), null);
|
|
||||||
|
|
||||||
long timeout = HttpClientParams.getConnectionManagerTimeout(params);
|
long timeout = HttpClientParams.getConnectionManagerTimeout(params);
|
||||||
|
|
||||||
int execCount = 0;
|
int execCount = 0;
|
||||||
|
@ -310,7 +305,7 @@ public class DefaultClientRequestDirector
|
||||||
|
|
||||||
// Wrap the original request
|
// Wrap the original request
|
||||||
RequestWrapper request = wrapRequest(roureq.getRequest());
|
RequestWrapper request = wrapRequest(roureq.getRequest());
|
||||||
request.setParams(stackedparams);
|
request.setParams(this.params);
|
||||||
|
|
||||||
// Re-write request URI if needed
|
// Re-write request URI if needed
|
||||||
rewriteRequestURI(request, route);
|
rewriteRequestURI(request, route);
|
||||||
|
@ -370,7 +365,7 @@ public class DefaultClientRequestDirector
|
||||||
throw ex;
|
throw ex;
|
||||||
}
|
}
|
||||||
|
|
||||||
response.setParams(stackedparams);
|
response.setParams(this.params);
|
||||||
requestExec.postProcess(response, httpProcessor, context);
|
requestExec.postProcess(response, httpProcessor, context);
|
||||||
|
|
||||||
RoutedRequest followup =
|
RoutedRequest followup =
|
||||||
|
|
Loading…
Reference in New Issue