-
Notifications
You must be signed in to change notification settings - Fork 17.8k
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
net: support TCP half-close when HTTP is upgraded in ReverseProxy #35893
Conversation
This PR (HEAD: f76daf8) has been imported to Gerrit for code review. Please visit https://go-review.googlesource.com/c/go/+/209357 to see it. Tip: You can toggle comments from me using the |
Message from Gobot Gobot: 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/209357. |
In order to support TCP half-close in ReverseProxy, ReverseProxy.handleUpgradeResponse should not close all sockets immediately when the one side gets an EOF. But we should close the write stream on the socket to inform the transfer is complete. Fixes golang#35892
Message from Emmanuel Odeke: Patch Set 1: Run-TryBot+1 (7 comments) Thank you for this CL Seungcheol! I have added some comments in my review, please take a look, but it would be R=bradfitz Please don’t reply on this GitHub thread. Visit golang.org/cl/209357. |
Message from Gobot Gobot: Patch Set 1: TryBots beginning. Status page: https://farmer.golang.org/try?commit=f36cac56 Please don’t reply on this GitHub thread. Visit golang.org/cl/209357. |
Message from Gobot Gobot: Patch Set 1: TryBot-Result+1 TryBots are happy. Please don’t reply on this GitHub thread. Visit golang.org/cl/209357. |
@sngchlko I know that it is another issue, but did you notice that after hijacking From // Hijack lets the caller take over the connection.
// After a call to Hijack the HTTP server library
// will not do anything else with the connection.
//
// It becomes the caller's responsibility to manage
// and close the connection. But it's still used to write errors with |
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/209357. |
Message from Go Bot: Patch Set 1: TryBots beginning. Status page: https://farmer.golang.org/try?commit=f36cac56 Please don’t reply on this GitHub thread. Visit golang.org/cl/209357. |
Message from Go Bot: Patch Set 1: TryBot-Result+1 TryBots are happy. Please don’t reply on this GitHub thread. Visit golang.org/cl/209357. |
In order to support TCP half-close in ReverseProxy,
ReverseProxy.handleUpgradeResponse should not close all sockets
immediately when the one side gets an EOF. But we should close the
write stream on the socket to inform the transfer is complete.
Fixes #35892