1
0
mirror of https://github.com/golang/go synced 2024-11-18 13:54:59 -07:00
go/src/net
Pierre Carru 8bcf2834af net/http/httputil: make Switching Protocol requests (e.g. Websockets) cancelable
Ensures that a canceled client request for Switching Protocols
(e.g. h2c, Websockets) will cause the underlying connection to
be terminated.

Adds a goroutine in handleUpgradeResponse in order to select on
the incoming client request's context and appropriately cancel it.

Fixes #35559

Change-Id: I1238e18fd4cce457f034f78d9cdce0e7f93b8bf6
GitHub-Last-Rev: 3629c78493
GitHub-Pull-Request: golang/go#38021
Reviewed-on: https://go-review.googlesource.com/c/go/+/224897
Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
2020-04-26 09:26:10 +00:00
..
http net/http/httputil: make Switching Protocol requests (e.g. Websockets) cancelable 2020-04-26 09:26:10 +00:00
internal/socktest all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
mail net/mail: skip empty entries in parseAddressList 2020-02-21 18:18:25 +00:00
rpc all: avoid string(i) where i has type int 2020-02-26 04:38:19 +00:00
smtp net/smtp: add missing error check in test 2019-11-11 21:56:37 +00:00
testdata net: use DNS over TCP when use-vc is set in resolv.conf 2019-04-18 18:51:13 +00:00
textproto net/textproto, sync: unlock mutexes appropriately before panics 2020-04-08 16:19:51 +00:00
url net/url: add URL.RawFragment, URL.EscapedFragment 2020-04-16 17:52:53 +00:00
addrselect_test.go
addrselect.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
cgo_aix.go net: allow build on aix/ppc64 with cgo 2019-03-19 03:19:53 +00:00
cgo_android.go
cgo_bsd.go
cgo_linux.go
cgo_netbsd.go
cgo_openbsd.go
cgo_resnew.go
cgo_resold.go
cgo_socknew.go
cgo_sockold.go net: allow build on aix/ppc64 with cgo 2019-03-19 03:19:53 +00:00
cgo_solaris.go
cgo_stub.go net: remove non-cgo macOS resolver code 2019-06-06 19:56:56 +00:00
cgo_unix_test.go net: allow build on aix/ppc64 with cgo 2019-03-19 03:19:53 +00:00
cgo_unix.go all: remove os.ErrTimeout 2019-08-02 17:57:18 +00:00
cgo_windows.go
conf_netcgo.go
conf_test.go
conf.go net: remove non-cgo macOS resolver code 2019-06-06 19:56:56 +00:00
conn_test.go
dial_test.go os, net: define and use os.ErrDeadlineExceeded 2020-04-25 00:26:48 +00:00
dial_unix_test.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
dial.go os, net: define and use os.ErrDeadlineExceeded 2020-04-25 00:26:48 +00:00
dnsclient_test.go all: avoid string(i) where i has type int 2020-02-26 04:38:19 +00:00
dnsclient_unix_test.go os, net: define and use os.ErrDeadlineExceeded 2020-04-25 00:26:48 +00:00
dnsclient_unix.go net: fix typo in unexported variable name 2020-02-27 05:56:21 +00:00
dnsclient.go all: move internal/x to vendor/golang.org/x and revendor using 'go mod vendor' 2019-03-11 20:28:54 +00:00
dnsconfig_unix_test.go net: use DNS over TCP when use-vc is set in resolv.conf 2019-04-18 18:51:13 +00:00
dnsconfig_unix.go net: use DNS over TCP when use-vc is set in resolv.conf 2019-04-18 18:51:13 +00:00
dnsname_test.go net: don't reject domain names with only numbers and hyphens 2018-09-24 17:56:44 +00:00
error_plan9_test.go
error_plan9.go
error_posix_test.go
error_posix.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
error_test.go os, net: define and use os.ErrDeadlineExceeded 2020-04-25 00:26:48 +00:00
error_unix_test.go
error_unix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
error_windows_test.go
error_windows.go
example_test.go net: document concurrency safety and example for Dialer 2019-09-02 14:47:38 +00:00
external_test.go
fd_plan9.go
fd_posix.go net: merge common Unix/Windows methods 2020-03-20 00:49:34 +00:00
fd_unix.go net: merge common Unix/Windows methods 2020-03-20 00:49:34 +00:00
fd_windows.go net: merge common Unix/Windows methods 2020-03-20 00:49:34 +00:00
file_plan9.go net: add KeepAlive field to ListenConfig 2019-04-04 14:51:33 +00:00
file_stub.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
file_test.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
file_unix.go net: add KeepAlive field to ListenConfig 2019-04-04 14:51:33 +00:00
file_windows.go
file.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
hook_plan9.go
hook_unix.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
hook_windows.go
hook.go net: enable TCP keepalives by default 2018-12-03 16:36:46 +00:00
hosts_test.go
hosts.go
interface_aix.go net: fix fd leak with interfaces on aix/ppc64 2019-03-05 15:11:20 +00:00
interface_bsd_test.go net: update zoneCache on cache misses to cover appearing interfaces 2018-11-06 00:05:32 +00:00
interface_bsd.go all: move internal/x to vendor/golang.org/x and revendor using 'go mod vendor' 2019-03-11 20:28:54 +00:00
interface_bsdvar.go all: move internal/x to vendor/golang.org/x and revendor using 'go mod vendor' 2019-03-11 20:28:54 +00:00
interface_darwin.go all: move internal/x to vendor/golang.org/x and revendor using 'go mod vendor' 2019-03-11 20:28:54 +00:00
interface_freebsd.go all: move internal/x to vendor/golang.org/x and revendor using 'go mod vendor' 2019-03-11 20:28:54 +00:00
interface_linux_test.go net: update zoneCache on cache misses to cover appearing interfaces 2018-11-06 00:05:32 +00:00
interface_linux.go
interface_plan9.go net: fix multicast and IPv6 related issues on Plan 9 2019-10-16 17:46:16 +00:00
interface_solaris.go all: move internal/x to vendor/golang.org/x and revendor using 'go mod vendor' 2019-03-11 20:28:54 +00:00
interface_stub.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
interface_test.go syscall: reenable sysctl on iOS 2019-10-23 15:12:15 +00:00
interface_unix_test.go all: fix typos 2019-09-08 17:28:20 +00:00
interface_windows.go all: fix most of the remaining windows -d=checkptr violations 2019-12-06 05:10:34 +00:00
interface.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
ip_test.go Revert "net: halve the allocs in ParseCIDR by sharing slice backing" 2019-11-10 20:36:44 +00:00
ip.go net: update ParseIP doc to say IPv4-mapped-IPv6 is supported 2020-04-02 22:10:27 +00:00
iprawsock_plan9.go
iprawsock_posix.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
iprawsock_test.go
iprawsock.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
ipsock_plan9.go net: report port number correctly in Plan 9 error 2020-02-28 16:22:42 +00:00
ipsock_posix.go all: fix a bunch of misspellings 2019-11-15 21:04:43 +00:00
ipsock_test.go
ipsock.go net: make cgo resolver work more accurately with network parameter 2018-10-25 03:14:03 +00:00
listen_test.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
lookup_fake.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
lookup_plan9.go net: fix lookupHost to return DNSError on Plan 9 2019-04-25 14:25:10 +00:00
lookup_test.go all: remove scattered remnants of darwin/arm 2020-04-08 18:35:49 +00:00
lookup_unix.go all: move internal/x to vendor/golang.org/x and revendor using 'go mod vendor' 2019-03-11 20:28:54 +00:00
lookup_windows_test.go net: fix resolving local windows machine ptr 2019-08-29 09:26:02 +00:00
lookup_windows.go all: fix most of the remaining windows -d=checkptr violations 2019-12-06 05:10:34 +00:00
lookup.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
mac_test.go net: use EUI-48/EUI-64 reserved address blocks for documentation 2019-02-27 02:36:14 +00:00
mac.go net: use EUI-48/EUI-64 reserved address blocks for documentation 2019-02-27 02:36:14 +00:00
main_cloexec_test.go
main_conf_test.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
main_noconf_test.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
main_plan9_test.go
main_posix_test.go
main_test.go
main_unix_test.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
main_windows_test.go
mockserver_test.go net: remove unixgram test sockets 2019-02-26 23:33:36 +00:00
net_fake.go
net_test.go net: convert many Close tests to use parallel subtests 2020-04-09 15:10:48 +00:00
net_windows_test.go all: use strings.ReplaceAll and bytes.ReplaceAll where applicable 2018-09-26 22:14:25 +00:00
net.go os, net: define and use os.ErrDeadlineExceeded 2020-04-25 00:26:48 +00:00
netgo_unix_test.go net: make cgo resolver work more accurately with network parameter 2018-10-25 03:14:03 +00:00
nss_test.go
nss.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
packetconn_test.go
parse_test.go
parse.go
pipe_test.go all: move internal/x to vendor/golang.org/x and revendor using 'go mod vendor' 2019-03-11 20:28:54 +00:00
pipe.go os, net: define and use os.ErrDeadlineExceeded 2020-04-25 00:26:48 +00:00
platform_test.go all: remove scattered remnants of darwin/arm 2020-04-08 18:35:49 +00:00
port_test.go
port_unix.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
port.go
protoconn_test.go
rawconn_stub_test.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
rawconn_test.go os, net: define and use os.ErrDeadlineExceeded 2020-04-25 00:26:48 +00:00
rawconn_unix_test.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
rawconn_windows_test.go
rawconn.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
sendfile_linux.go net: return poll.SendFile error from sendFile 2019-03-01 22:15:57 +00:00
sendfile_stub.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
sendfile_test.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
sendfile_unix_alt.go net: return poll.SendFile error from sendFile 2019-03-01 22:15:57 +00:00
sendfile_windows.go internal/poll: make SendFile work with large files on Windows 2019-09-26 06:16:42 +00:00
server_test.go net: convert TestTCPServer to use subtests 2019-10-22 17:34:15 +00:00
sock_bsd.go
sock_cloexec.go
sock_linux.go
sock_plan9.go
sock_posix.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
sock_stub.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
sock_windows.go
sockaddr_posix.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
sockopt_aix.go net: drop confusing comment 2019-01-10 04:47:18 +00:00
sockopt_bsd.go
sockopt_linux.go
sockopt_plan9.go
sockopt_posix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
sockopt_solaris.go
sockopt_stub.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
sockopt_windows.go
sockoptip_bsdvar.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
sockoptip_linux.go
sockoptip_posix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
sockoptip_stub.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
sockoptip_windows.go
splice_linux.go net: don't use splice for unix{packet,gram} connections 2018-09-24 17:25:15 +00:00
splice_stub.go
splice_test.go net: pass TMPDIR to test client process 2019-04-07 18:55:23 +00:00
sys_cloexec.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
tcpsock_plan9.go net: fix multicast and IPv6 related issues on Plan 9 2019-10-16 17:46:16 +00:00
tcpsock_posix.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
tcpsock_test.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
tcpsock_unix_test.go
tcpsock.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
tcpsockopt_darwin.go net: avoid transiting durations through floats 2019-09-17 16:25:15 +00:00
tcpsockopt_dragonfly.go net: avoid transiting durations through floats 2019-09-17 16:25:15 +00:00
tcpsockopt_openbsd.go
tcpsockopt_plan9.go
tcpsockopt_posix.go net: add AIX operating system 2018-10-10 17:20:53 +00:00
tcpsockopt_solaris.go net: avoid transiting durations through floats 2019-09-17 16:25:15 +00:00
tcpsockopt_stub.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
tcpsockopt_unix.go net: avoid transiting durations through floats 2019-09-17 16:25:15 +00:00
tcpsockopt_windows.go net: avoid transiting durations through floats 2019-09-17 16:25:15 +00:00
timeout_test.go os, net: define and use os.ErrDeadlineExceeded 2020-04-25 00:26:48 +00:00
udpsock_plan9_test.go net: fix multicast and IPv6 related issues on Plan 9 2019-10-16 17:46:16 +00:00
udpsock_plan9.go net: fix multicast and IPv6 related issues on Plan 9 2019-10-16 17:46:16 +00:00
udpsock_posix.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
udpsock_test.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
udpsock.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
unixsock_linux_test.go
unixsock_plan9.go
unixsock_posix.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
unixsock_test.go os, net: define and use os.ErrDeadlineExceeded 2020-04-25 00:26:48 +00:00
unixsock_windows_test.go net: skip TestUnixConnLocalWindows on windows/arm 2018-10-08 04:13:54 +00:00
unixsock.go all: remove the nacl port (part 1) 2019-10-09 06:14:44 +00:00
write_unix_test.go
writev_test.go
writev_unix.go