You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Jeff Schnitzer (Jira)" <ji...@apache.org> on 2019/12/19 19:16:00 UTC
[jira] [Created] (HTTPCLIENT-2040) Headers are not sent when
following redirects
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org