1
0
mirror of https://github.com/golang/go synced 2024-10-05 07:11:22 -06:00
go/src/net
Caio Marcelo de Oliveira Filho c69e6869c9 net/http/httptest: record trailing headers in ResponseRecorder
Trailers() returns the headers that were set by the handler after the
headers were written "to the wire" (in this case HeaderMap) and that
were also specified in a proper header called "Trailer".

Neither HeaderMap or trailerMap (used for Trailers()) are manipulated by
the handler code, instead a third stagingMap is given to the
handler. This avoid a reference kept by handler to affect the recorded
results.

If a handler just modify the header but doesn't call any Write or Flush
method from ResponseWriter (or Flusher) interface, HeaderMap will not be
updated. In this case, calling Flush in the recorder is enough to get
the HeaderMap filled.

Fixes #14531.
Fixes #8857.

Change-Id: I42842341ec3e95c7b87d7e6f178c65cd03d63cc3
Reviewed-on: https://go-review.googlesource.com/20047
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2016-03-08 19:30:38 +00:00
..
http net/http/httptest: record trailing headers in ResponseRecorder 2016-03-08 19:30:38 +00:00
internal/socktest net/internal/socktest: add missing support for AcceptEx 2016-02-21 03:09:25 +00:00
mail net/mail: do not parse RFC 2047 tokens in quoted strings 2015-12-04 16:11:09 +00:00
rpc all: single space after period. 2016-03-02 00:13:47 +00:00
smtp all: single space after period. 2016-03-02 00:13:47 +00:00
testdata net: fix parsing literal IPv6 address with zone identifier when using cgo 2015-12-04 02:50:00 +00:00
textproto all: single space after period. 2016-03-02 00:13:47 +00:00
url net/url: fix parsing of URLs ending in question mark 2016-03-02 03:05:18 +00:00
addrselect_test.go net: fix IPv4 address selection 2015-11-17 23:48:43 +00:00
addrselect.go all: single space after period. 2016-03-02 00:13:47 +00:00
cgo_android.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgo_bsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgo_linux.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgo_netbsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgo_openbsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgo_resnew.go
cgo_resold.go
cgo_socknew.go net: fix parsing literal IPv6 address with zone identifier when using cgo 2015-12-04 02:50:00 +00:00
cgo_sockold.go net: fix parsing literal IPv6 address with zone identifier when using cgo 2015-12-04 02:50:00 +00:00
cgo_solaris.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgo_stub.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgo_unix_test.go
cgo_unix.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
cgo_windows.go
conf_netcgo.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
conf_test.go
conf.go all: single space after period. 2016-03-02 00:13:47 +00:00
conn_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
dial_gen.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
dial_test.go all: single space after period. 2016-03-02 00:13:47 +00:00
dial.go net: deduplicate TCP socket code 2016-03-03 04:23:59 +00:00
dnsclient_test.go net: don't require recursion be available in DNS responses 2015-11-17 20:11:22 +00:00
dnsclient_unix_test.go net: make TestGoLookupIPWithResolverConfig robust 2016-02-25 03:12:59 +00:00
dnsclient_unix.go net: fix race in (*resolverConfig).tryUpdate 2016-02-20 10:03:47 +00:00
dnsclient.go all: single space after period. 2016-03-02 00:13:47 +00:00
dnsconfig_unix_test.go net: fix race in (*resolverConfig).tryUpdate 2016-02-20 10:03:47 +00:00
dnsconfig_unix.go all: single space after period. 2016-03-02 00:13:47 +00:00
dnsmsg_test.go net: fix vet warnings 2016-03-02 16:26:36 +00:00
dnsmsg.go all: single space after period. 2016-03-02 00:13:47 +00:00
dnsname_test.go
error_plan9_test.go net: add missing aborted connection handling on accept test 2016-02-21 03:32:36 +00:00
error_posix_test.go net: add missing aborted connection handling on accept test 2016-02-21 03:32:36 +00:00
error_test.go net: deduplicate TCP socket code 2016-03-03 04:23:59 +00:00
error_unix_test.go net: add missing aborted connection handling on accept test 2016-02-21 03:32:36 +00:00
error_windows_test.go net: add missing aborted connection handling on accept test 2016-02-21 03:32:36 +00:00
example_test.go
external_test.go
fd_mutex_test.go
fd_mutex.go
fd_plan9.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
fd_poll_nacl.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
fd_poll_runtime.go net: fix for DialTimeout errors with large timeout 2016-02-23 22:48:04 +00:00
fd_posix_test.go
fd_posix.go
fd_unix.go all: single space after period. 2016-03-02 00:13:47 +00:00
fd_windows.go net: add missing aborted connection handling on accept test 2016-02-21 03:32:36 +00:00
file_plan9.go
file_stub.go
file_test.go net: add missing File{Conn,Listener,PacketConn} read/write tests 2015-12-14 03:14:53 +00:00
file_unix.go net: do not unlink unix socket in UnixListener created from fd 2015-12-11 04:43:44 +00:00
file_windows.go
file.go
hook_cloexec.go
hook_plan9.go
hook_unix.go net: fix the build even harder 2015-12-17 18:43:12 +00:00
hook_windows.go net: add missing aborted connection handling on accept test 2016-02-21 03:32:36 +00:00
hook.go net: fix build 2015-12-17 16:06:58 +00:00
hosts_test.go net: ensure lookupStatic* returns copy of slice to disallow cache corruption. 2016-02-21 16:36:56 +00:00
hosts.go net: ensure lookupStatic* returns copy of slice to disallow cache corruption. 2016-02-21 16:36:56 +00:00
interface_bsd_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
interface_bsd.go all: single space after period. 2016-03-02 00:13:47 +00:00
interface_darwin.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
interface_dragonfly.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
interface_freebsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
interface_linux_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
interface_linux.go all: single space after period. 2016-03-02 00:13:47 +00:00
interface_netbsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
interface_openbsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
interface_stub.go all: single space after period. 2016-03-02 00:13:47 +00:00
interface_test.go all: single space after period. 2016-03-02 00:13:47 +00:00
interface_unix_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
interface_windows_test.go net, internal/syscall/windows: fix interface and address identification on windows 2015-12-10 08:04:07 +00:00
interface_windows.go all: single space after period. 2016-03-02 00:13:47 +00:00
interface.go all: single space after period. 2016-03-02 00:13:47 +00:00
ip_test.go all: fix typos and spelling 2016-02-24 18:42:29 +00:00
ip.go all: single space after period. 2016-03-02 00:13:47 +00:00
iprawsock_plan9.go all: single space after period. 2016-03-02 00:13:47 +00:00
iprawsock_posix.go net: deduplicate TCP socket code 2016-03-03 04:23:59 +00:00
iprawsock_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
iprawsock.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
ipsock_plan9.go net: deduplicate TCP socket code 2016-03-03 04:23:59 +00:00
ipsock_posix.go all: single space after period. 2016-03-02 00:13:47 +00:00
ipsock_test.go
ipsock.go all: single space after period. 2016-03-02 00:13:47 +00:00
listen_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
lookup_plan9.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
lookup_stub.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
lookup_test.go net: skip TestLookupPort on android with netgo 2016-03-03 02:52:18 +00:00
lookup_unix.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
lookup_windows_test.go net: LookupAddr("127.0.0.1") is "localhost" not "localhost." on Plan 9 and Windows 2016-01-13 14:02:22 +00:00
lookup_windows.go net: LookupAddr("127.0.0.1") is "localhost" not "localhost." on Plan 9 and Windows 2016-01-13 14:02:22 +00:00
lookup.go all: single space after period. 2016-03-02 00:13:47 +00:00
mac_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
mac.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
main_cloexec_test.go
main_conf_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
main_noconf_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
main_plan9_test.go
main_posix_test.go
main_test.go
main_unix_test.go
main_windows_test.go net: add missing aborted connection handling on accept test 2016-02-21 03:32:36 +00:00
mockserver_test.go net: make newLocalListener handle network argument correcly 2016-02-21 02:55:23 +00:00
net_test.go net: add missing aborted connection handling on accept test 2016-02-21 03:32:36 +00:00
net_windows_test.go net: fix vet warnings 2016-03-02 16:26:36 +00:00
net.go all: single space after period. 2016-03-02 00:13:47 +00:00
netgo_unix_test.go
nss_test.go
nss.go
packetconn_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
parse_test.go net: make Dial, Listen{,Packet} for TCP/UDP with invalid port fail 2015-11-01 05:28:17 +00:00
parse.go net: check /etc/hosts for modifications every 5 seconds, not 5 minutes 2016-01-06 21:42:19 +00:00
pipe_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
pipe.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
platform_test.go net: android no longer supports unix/unixgram 2015-10-19 19:27:22 +00:00
port_unix.go
protoconn_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sendfile_dragonfly.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sendfile_freebsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sendfile_linux.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sendfile_solaris.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sendfile_stub.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sendfile_windows.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
server_test.go
sock_bsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sock_cloexec.go
sock_linux.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sock_plan9.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sock_posix.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sock_stub.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sock_windows.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sockopt_bsd.go all: single space after period. 2016-03-02 00:13:47 +00:00
sockopt_linux.go all: single space after period. 2016-03-02 00:13:47 +00:00
sockopt_plan9.go net: deduplicate TCP socket code 2016-03-03 04:23:59 +00:00
sockopt_posix.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sockopt_solaris.go all: single space after period. 2016-03-02 00:13:47 +00:00
sockopt_stub.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sockopt_windows.go all: single space after period. 2016-03-02 00:13:47 +00:00
sockoptip_bsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sockoptip_linux.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sockoptip_posix.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sockoptip_stub.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sockoptip_windows.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
sys_cloexec.go
tcpsock_plan9.go net: deduplicate TCP socket code 2016-03-03 04:23:59 +00:00
tcpsock_posix.go net: deduplicate TCP socket code 2016-03-03 04:23:59 +00:00
tcpsock_test.go net: rename test files 2016-02-24 03:07:58 +00:00
tcpsock.go net: deduplicate TCP socket code 2016-03-03 04:23:59 +00:00
tcpsockopt_darwin.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
tcpsockopt_dragonfly.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
tcpsockopt_openbsd.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
tcpsockopt_plan9.go net: deduplicate TCP socket code 2016-03-03 04:23:59 +00:00
tcpsockopt_posix.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
tcpsockopt_solaris.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
tcpsockopt_stub.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
tcpsockopt_unix.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
tcpsockopt_windows.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
timeout_test.go net: fix for DialTimeout errors with large timeout 2016-02-23 22:48:04 +00:00
udpsock_plan9.go net: deduplicate TCP socket code 2016-03-03 04:23:59 +00:00
udpsock_posix.go net: deduplicate TCP socket code 2016-03-03 04:23:59 +00:00
udpsock_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
udpsock.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
unixsock_plan9.go all: single space after period. 2016-03-02 00:13:47 +00:00
unixsock_posix.go net: deduplicate TCP socket code 2016-03-03 04:23:59 +00:00
unixsock_test.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00
unixsock.go all: make copyright headers consistent with one space after period 2016-03-01 23:34:33 +00:00