[
https://issues.apache.org/jira/browse/HTTPCORE-302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13418297#comment-13418297
]
Oleg Kalnichevski commented on HTTPCORE-302:
--------------------------------------------
The problem with the solution 2b is that it would require breaking the current
API as the #setEntity method would need to throw IOExceptions. I personally
think EntityUtils (or new MessageUtils class) is a better place for such
functionality. Ideally HttpMessage and their implementations should remain
plain java objects without any processing logic.
MessageUtils.updateEntity(HttpResponse, HttpEntity) throws IOException;
What do you think?
Oleg
> setEntity should consume the old entity first
> ---------------------------------------------
>
> Key: HTTPCORE-302
> URL: https://issues.apache.org/jira/browse/HTTPCORE-302
> Project: HttpComponents HttpCore
> Issue Type: Improvement
> Components: HttpCore
> Affects Versions: 4.2.1
> Reporter: William R. Speirs
> Fix For: 4.3
>
>
> The setEntity() method of HttpResponse makes it very easy to leak connections
> if used without consuming the old entity first. I'm proposing the following
> enhancements:
> 1) add a Javadoc note to the setEntity() method of HttpResponse that says
> something like: "Implementations might not consume an existing entity.
> Callers should consume any existing entity before calling this method."
> 2) either add a consumeAndSetEntity() method to BasicHttpResponse which
> consumes an existing entity before setting the reference, OR change the
> implementation of setEntity() to consume any existing entity first. (My vote
> is for the later, although it will change existing behavior, it shouldn't
> negatively impact any callers.)
> The reason for this improvement request is simply that I've been burned a few
> times by calling setEntity() without first consuming the existing entity, and
> I think we could make this more user friendly. I'm happy to submit a patch
> once we decide what should be done with #2.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.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]