[
https://issues.apache.org/jira/browse/HTTPCORE-235?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12910301#action_12910301
]
Oleg Kalnichevski commented on HTTPCORE-235:
--------------------------------------------
> he root cause was my own - I was closing the connection before trying to get
> the data out of the response
What exactly do you mean by "closing the connection"? Calling #close() on the
content input stream? If that is the case, the content codec simply consumes
the remaining content in order to ensure the underlying connection could be
kept-alive and re-used for subsequent requests. This is the normal mode of
operation, which is not mean to cause an I/O exception of any kind. Only if an
attempt is made to read form a closed stream an exception would be thrown.
Oleg
> EntityUtils.toString() doesn't detect/report less content being returned than
> was promised
> ------------------------------------------------------------------------------------------
>
> Key: HTTPCORE-235
> URL: https://issues.apache.org/jira/browse/HTTPCORE-235
> Project: HttpComponents HttpCore
> Issue Type: Bug
> Components: HttpCore
> Affects Versions: 4.0.1
> Reporter: Steve Loughran
>
> Also on my review of EntityUtils.toString(), I see that it's code to take an
> input stream and a content length only uses the content length parameter to
> set the size of the buffer -there is no attempt to verify that the amount of
> data received was as expected and raise an {{IOException}} if less data
> arrived.
> While this code will appear to work, especially on loopback and local
> connections, it is flawed long-haul where connections are often dropped
> early.
> I propose streaming the entity content to a byte array, validating the
> length, then building a string in the appropriate charset from the buffer if
> it is valid.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]