Jeff Schnitzer created HTTPCLIENT-2040:
------------------------------------------
Summary: Headers are not sent when following redirects
Key: HTTPCLIENT-2040
URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2040
Project: HttpComponents HttpClient
Issue Type: Bug
Components: HttpClient (classic)
Affects Versions: 5.0 Beta6
Reporter: Jeff Schnitzer
It appears that headers are not sent when following redirects.
RedirectExec.execute() contains this code:
{{ switch (statusCode) {
case HttpStatus.SC_MOVED_PERMANENTLY:
case HttpStatus.SC_MOVED_TEMPORARILY:
case HttpStatus.SC_SEE_OTHER:
if (!Methods.isSafe(request.getMethod())) {
final HttpGet httpGet = new
HttpGet(redirectUri);
httpGet.setHeaders(originalRequest.getHeaders());
redirect = httpGet;
} else {
redirect = null;
}
}
if (redirect == null) {
redirect = new
BasicClassicHttpRequest(originalRequest.getMethod(), redirectUri);
redirect.setEntity(originalRequest.getEntity());
}
}}
If the method is not 'safe' and converted to a GET, headers get copied from the
original request. Otherwise, the original headers are silently dropped.
Desired behavior: Headers should always be copied from the original request.
That was the behavior of HttpClient 4.x.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]