-
Notifications
You must be signed in to change notification settings - Fork 1.2k
http2/h2c: Respect the req.Context() #88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here with What to do if you already signed the CLAIndividual signers
Corporate signers
ℹ️ Googlers: Go here for more info. |
@googlebot I signed it! |
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed (or fixed any issues), please reply here with What to do if you already signed the CLAIndividual signers
Corporate signers
ℹ️ Googlers: Go here for more info. |
@googlebot I signed it! |
This PR (HEAD: 199e616) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/c/net/+/278972 to see it. Tip: You can toggle comments from me using the |
Message from Go Bot: Patch Set 1: Congratulations on opening your first change. Thank you for your contribution! Next steps: Most changes in the Go project go through a few rounds of revision. This can be During May-July and Nov-Jan the Go project is in a code freeze, during which Please don’t reply on this GitHub thread. Visit golang.org/cl/278972. |
199e616
to
82d05ae
Compare
This PR (HEAD: 82d05ae) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/c/net/+/278972 to see it. Tip: You can toggle comments from me using the |
When using h2c.NewHandler, the *http.Request object for h2c requests has a .Context() that doesn't inherit from the *http.Server's BaseContext. This is surprising for users of vanilla net/http, and is surprising to users of http2.ConfigureServer; HTTP/1 requests inherit from that BaseContext, and TLS h2 requests inherit from that BaseContext, but cleartext h2c requests don't. So, modify h2c.NewHander to respect that base Context, by way of the hijacked Request's .Context().
82d05ae
to
821b207
Compare
This PR (HEAD: 821b207) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/c/net/+/278972 to see it. Tip: You can toggle comments from me using the |
Message from Liam Haworth: Patch Set 3: Code-Review+1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/278972. |
Message from Brad Fitzpatrick: Patch Set 3: Run-TryBot+1 Code-Review+2 Trust+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/278972. |
Message from Go Bot: Patch Set 3: TryBots beginning. Status page: https://farmer.golang.org/try?commit=99b092ec Please don’t reply on this GitHub thread. Visit golang.org/cl/278972. |
Message from Brad Fitzpatrick: Patch Set 3: Run-TryBot+1 Code-Review+2 Trust+1 (1 comment) Please don’t reply on this GitHub thread. Visit golang.org/cl/278972. |
Message from Go Bot: Patch Set 3: Build is still in progress... Other builds still in progress; subsequent failure notices suppressed until final report. Consult https://build.golang.org/ to see whether they are new failures. Keep in mind that TryBots currently test exactly your git commit, without rebasing. If your commit's git parent is old, the failure might've already been fixed. Please don’t reply on this GitHub thread. Visit golang.org/cl/278972. |
Message from Go Bot: Patch Set 3: TryBot-Result-1 1 of 10 TryBots failed: Consult https://build.golang.org/ to see whether they are new failures. Keep in mind that TryBots currently test exactly your git commit, without rebasing. If your commit's git parent is old, the failure might've already been fixed. Please don’t reply on this GitHub thread. Visit golang.org/cl/278972. |
When using h2c.NewHandler, the *http.Request object for h2c requests has a .Context() that doesn't inherit from the *http.Server's BaseContext. This is surprising for users of vanilla net/http, and is surprising to users of http2.ConfigureServer; HTTP/1 requests inherit from that BaseContext, and TLS h2 requests inherit from that BaseContext, but cleartext h2c requests don't. So, modify h2c.NewHander to respect that base Context, by way of the hijacked Request's .Context(). Change-Id: Ibc24ae6e2fb153d9561827ad791329487dae8e5a GitHub-Last-Rev: 821b207 GitHub-Pull-Request: #88 Reviewed-on: https://go-review.googlesource.com/c/net/+/278972 Reviewed-by: Liam Haworth <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]> Trust: Brad Fitzpatrick <[email protected]> Trust: Damien Neil <[email protected]> Run-TryBot: Brad Fitzpatrick <[email protected]>
Message from Damien Neil: Patch Set 3: Trust+1 Please don’t reply on this GitHub thread. Visit golang.org/cl/278972. |
This PR is being closed because golang.org/cl/278972 has been merged. |
When using h2c.NewHandler, the *http.Request object for h2c requests has a .Context() that doesn't inherit from the *http.Server's BaseContext. This is surprising for users of vanilla net/http, and is surprising to users of http2.ConfigureServer; HTTP/1 requests inherit from that BaseContext, and TLS h2 requests inherit from that BaseContext, but cleartext h2c requests don't. So, modify h2c.NewHander to respect that base Context, by way of the hijacked Request's .Context(). Change-Id: Ibc24ae6e2fb153d9561827ad791329487dae8e5a GitHub-Last-Rev: 821b2070f7eebf900bb2e45ec92d80699f99e80d GitHub-Pull-Request: golang/net#88 Reviewed-on: https://go-review.googlesource.com/c/net/+/278972 Reviewed-by: Liam Haworth <[email protected]> Reviewed-by: Brad Fitzpatrick <[email protected]> Trust: Brad Fitzpatrick <[email protected]> Trust: Damien Neil <[email protected]> Run-TryBot: Brad Fitzpatrick <[email protected]>
When using h2c.NewHandler, the *http.Request object for h2c requests has a
.Context() that doesn't inherit from the *http.Server's BaseContext. This
is surprising for users of vanilla net/http, and is surprising to users of
http2.ConfigureServer; HTTP/1 requests inherit from that BaseContext, and
TLS h2 requests inherit from that BaseContext, but cleartext h2c requests
don't.
So, modify h2c.NewHander to respect that base Context, by way of the
hijacked Request's .Context().