aboutsummaryrefslogtreecommitdiff
path: root/src/net/http/client_test.go
diff options
context:
space:
mode:
authorDamien Neil <dneil@google.com>2024-11-06 11:08:51 -0800
committerDamien Neil <dneil@google.com>2024-11-06 21:01:09 +0000
commit23493579ead6512185bdb7a0bdfa512e9dea813e (patch)
treef449c6bcc6e2699d996a99d8f0b0bd8bfcb10e32 /src/net/http/client_test.go
parent2c7b5ba8ca7268d7d38a48a7e6f31bb53e858af0 (diff)
downloadgo-23493579ead6512185bdb7a0bdfa512e9dea813e.tar.xz
net/http: 308 redirects should use the previous hop's body
On a 301 redirect, the HTTP client changes the request to be a GET with no body. On a 308 redirect, the client leaves the request method and body unchanged. A 308 following a 301 should preserve the rewritten request from the first redirect: GET with no body. We were preserving the method, but sending the original body. Fix this. Fixes #70180 Change-Id: Ie20027a6058a82bfdffc7197d07ac6c7f98099e2 Reviewed-on: https://go-review.googlesource.com/c/go/+/626055 Reviewed-by: Jonathan Amsterdam <jba@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Diffstat (limited to 'src/net/http/client_test.go')
-rw-r--r--src/net/http/client_test.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/net/http/client_test.go b/src/net/http/client_test.go
index 04e2e32cf0..429b8f1d2c 100644
--- a/src/net/http/client_test.go
+++ b/src/net/http/client_test.go
@@ -346,7 +346,7 @@ func TestPostRedirects(t *testing.T) {
`POST /?code=307&next=303,308,302 "c307"`,
`POST /?code=303&next=308,302 "c307"`,
`GET /?code=308&next=302 ""`,
- `GET /?code=302 "c307"`,
+ `GET /?code=302 ""`,
`GET / ""`,
`POST /?code=308&next=302,301 "c308"`,
`POST /?code=302&next=301 "c308"`,
@@ -376,7 +376,7 @@ func TestDeleteRedirects(t *testing.T) {
`DELETE /?code=301&next=302,308 "c301"`,
`GET /?code=302&next=308 ""`,
`GET /?code=308 ""`,
- `GET / "c301"`,
+ `GET / ""`,
`DELETE /?code=302&next=302 "c302"`,
`GET /?code=302 ""`,
`GET / ""`,
@@ -385,7 +385,7 @@ func TestDeleteRedirects(t *testing.T) {
`DELETE /?code=307&next=301,308,303,302,304 "c307"`,
`DELETE /?code=301&next=308,303,302,304 "c307"`,
`GET /?code=308&next=303,302,304 ""`,
- `GET /?code=303&next=302,304 "c307"`,
+ `GET /?code=303&next=302,304 ""`,
`GET /?code=302&next=304 ""`,
`GET /?code=304 ""`,
`DELETE /?code=308&next=307 "c308"`,