hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HTTPCORE-235) EntityUtils.toString() doesn't detect/report less content being returned than was promised
Date Thu, 16 Sep 2010 20:26:32 GMT

    [ 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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message