Http Client does not fix incorrect content-lenght headers
---------------------------------------------------------
Key: HTTPCLIENT-600
URL: http://issues.apache.org/jira/browse/HTTPCLIENT-600
Project: HttpComponents HttpClient
Issue Type: Improvement
Components: HttpClient
Affects Versions: 3.1 Alpha 1
Environment: All
Reporter: Denis Valdenaire
I discovered that the method
addContentLengthRequestHeader (found in file methods/MultipartPostMethod.java)
doesn't "fix" the content-lenght when this one is incorrect. It adds one if
getRequestHeader("Content-Lenght") is null, but it should also verify that the
content-lenght is correct.
I suggest something like :
long len = getRequestContentLength();
if (getRequestHeader("Content-Length") == null ||
getRequestHeader("Content-Length") != len) {
setRequestHeader("Content-Length", String.valueOf(len));
}
Sending an incorrect Content-Length blocks the server if the string sent is
smaller than announced : waiting for more, and finally reset the connection. If
it's too big, you lose data.
I've seen this problem in a reverse proxy program (with httpclient
communicating with the real servers) when the client send urlencoded data and
this data is modified (partly urldecoded) but not the content-lenght.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]