]> Cypherpunks repositories - gostls13.git/commit
[release-branch.go1.17] net/http: do not cancel request context on response body...
authorDamien Neil <dneil@google.com>
Mon, 8 Nov 2021 19:23:27 +0000 (11:23 -0800)
committerMichael Knyszek <mknyszek@google.com>
Wed, 1 Dec 2021 22:10:22 +0000 (22:10 +0000)
commitab175939e28df62fee09c33c7d9e008bff6b684c
treee81cb6b61323a0d38f15e9ea70ad2e7c82e18f95
parentf0ee7c6f9609f17f2bfb91874ffa473c2b6465ca
[release-branch.go1.17] net/http: do not cancel request context on response body read

When sending a Request with a non-context deadline, we create a
context with a timeout. This context is canceled when closing the
response body, and also if a read from the response body returns
an error (including io.EOF).

Cancelling the context in Response.Body.Read interferes with the
HTTP/2 client cleaning up after a request is completed, and is
unnecessary: The user should always close the body, the impact
from not canceling the context is minor (the context timer leaks
until it fires).

Fixes #49559.
For #49366.

Change-Id: Ieaed866116916261d9079f71d8fea7a7b303b8fb
Reviewed-on: https://go-review.googlesource.com/c/go/+/361919
Trust: Damien Neil <dneil@google.com>
Run-TryBot: Damien Neil <dneil@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
(cherry picked from commit 76fbd6167364fb98e3ebe946cfc16b5b84d4240e)
Reviewed-on: https://go-review.googlesource.com/c/go/+/368085
Reviewed-by: Michael Knyszek <mknyszek@google.com>
src/net/http/client.go
src/net/http/client_test.go