FAQ
Is the plan going forward to deprecate the ctxhttp and use the req.Cancel
instead? Because we can essentially do req.Cancel = ctx.Done() to get
similar behavior. I can only speculate since I saw that Brad pulled context
into stdlib but not ctxhttp, :P.

But, I think there could be a valid use case where one may want to maintain
the underlying TCP connection rather than closing it. By not reading the
body before closing, we are essentially closing the underlying TCP
connection and asking the client to redo handshake. I think we should
document this or maybe allow to read body as an option? The unboundedness
can be potentially governed by the RoundTripper, e.g. the Transport.
On Wednesday, April 6, 2016 at 11:19:23 PM UTC-7, Chris Broadfoot wrote:

Sorry I missed this. I'm wary of reading from the response body, since it
is unbounded.

If you look at the cancelation code in transport.go, it doesn't read the
body:
https://golang.org/src/net/http/transport.go

I think ctxhttp should mostly serve as a thin compatibility layer, and
behave similar to req.Cancel in Go 1.6/1.7

+Brad, the http expert.

On Thu, Apr 7, 2016 at 4:05 PM, Guanhua Jiang <steve...@gmail.com
<javascript:>> wrote:
Bump. Should I maybe open a bug?

On Thursday, March 31, 2016 at 5:52:59 PM UTC-7, Guanhua Jiang wrote:

Thanks Nigel! I think if my experiment is done correctly, the difference
without adding the io.Copy means that when context ends, the underlying TCP
connection is forced to close. This may or may not be by design. If it is,
I think I'd like to make a feature request some times, we don't necessarily
want to close the underlying TCP connection.
On Thursday, March 31, 2016 at 5:20:58 PM UTC-7, Nigel Tao wrote:

On Wed, Mar 30, 2016 at 9:32 AM, Guanhua Jiang <steve...@gmail.com>
wrote:
So, according to that, it seems like the goroutine at
x/net/context/ctxhttp/ctxhttp.go:60 will not properly cleanup the response
body. An additional statement of something like,
io.Copy(ioutil.Discard,
resp.Body), should be added before it closes the body. Is this the right
idea? Or am I missing something, like resp.Body.Close() would
actually read
everyone on that TCP connection?
cbro (CC'ed) might know the answer.
--
You received this message because you are subscribed to the Google Groups "golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 6 of 9 | next ›
Discussion Overview
groupgolang-nuts @
categoriesgo
postedMar 29, '16 at 10:32p
activeApr 7, '16 at 1:45p
posts9
users5
websitegolang.org

People

Translate

site design / logo © 2021 Grokbase