diff options
| author | Sean Liao <sean@liao.dev> | 2025-11-21 22:47:08 +0000 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2025-11-22 09:21:45 -0800 |
| commit | 76374fc4b19620ade12c9ddcea67024d997ff773 (patch) | |
| tree | 50bab356687be611f1e88c9669533a4759553f3e | |
| parent | 8f9da77619fd679c63e77756af5d9b4bf0f81e99 (diff) | |
| download | go-x-website-76374fc4b19620ade12c9ddcea67024d997ff773.tar.xz | |
internal/redirect: update expected default redirect to 307
For Go 1.26 (CL 720820), the default redirect in ServeMux
is changing from 301 to 307 to support preserving POST bodies.
For golang/go#50243
Change-Id: I2eaf32bc51e768ac0798f405b824c18a53ac187b
Reviewed-on: https://go-review.googlesource.com/c/website/+/723140
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Sean Liao <sean@liao.dev>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
| -rw-r--r-- | internal/redirect/redirect_test.go | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/internal/redirect/redirect_test.go b/internal/redirect/redirect_test.go index e7e2cd9d..db090632 100644 --- a/internal/redirect/redirect_test.go +++ b/internal/redirect/redirect_test.go @@ -29,7 +29,7 @@ func TestRedirects(t *testing.T) { "/pkg/asn1": {301, "/pkg/encoding/asn1/"}, "/pkg/template/parse": {301, "/pkg/text/template/parse/"}, - "/pkg/C": {301, "/pkg/C/"}, + "/pkg/C": {307, "/pkg/C/"}, "/pkg/C/": {301, "/cmd/cgo/"}, "/pkg/C/foo": {301, "/cmd/cgo/"}, // historical @@ -37,22 +37,22 @@ func TestRedirects(t *testing.T) { "/cmd/gofix": {301, "/cmd/fix/"}, - "/testing": {301, "/testing/"}, + "/testing": {307, "/testing/"}, "/testing/": {301, "/doc/"}, - "/testing/coverage": {301, "/testing/coverage/"}, + "/testing/coverage": {307, "/testing/coverage/"}, "/testing/coverage/": {301, "/doc/build-cover"}, - "/security": {301, "/security/"}, + "/security": {307, "/security/"}, "/security/": {301, "/doc/security/"}, "/security/best-practices": {301, "/doc/security/best-practices"}, - "/security/fuzz": {301, "/security/fuzz/"}, + "/security/fuzz": {307, "/security/fuzz/"}, "/security/fuzz/": {301, "/doc/security/fuzz/"}, "/security/fuzz/example-dark.png": {301, "/doc/security/fuzz/example-dark.png"}, "/security/fuzz/example.png": {301, "/doc/security/fuzz/example.png"}, "/security/fuzz/seq-diagram.png": {301, "/doc/security/fuzz/seq-diagram.png"}, "/security/fuzz/technical": {301, "/doc/security/fuzz/technical"}, "/security/policy": {301, "/doc/security/policy"}, - "/security/vuln": {301, "/security/vuln/"}, + "/security/vuln": {307, "/security/vuln/"}, "/security/vuln/": {301, "/doc/security/vuln/"}, "/security/vuln/architecture.png": {301, "/doc/security/vuln/architecture.png"}, "/security/vuln/cna": {301, "/doc/security/vuln/cna"}, @@ -60,7 +60,7 @@ func TestRedirects(t *testing.T) { "/security/vuln/editor": {301, "/doc/security/vuln/editor"}, "/security/vuln/vscode.gif": {301, "/doc/security/vuln/vscode.gif"}, "/security/vulncheck": {301, "/doc/security/vulncheck"}, - "/security/vulndb": {301, "/security/vulndb/"}, + "/security/vulndb": {307, "/security/vulndb/"}, "/security/vulndb/": {301, "/doc/security/vulndb/"}, "/security/vulndb/api": {301, "/doc/security/vulndb/api"}, "/security/vulndb/policy": {301, "/doc/security/vulndb/policy"}, @@ -143,12 +143,19 @@ func TestRedirects(t *testing.T) { continue } - if resp.StatusCode != want.status { + if want.status == 307 { + // Go 1.26 changed the default redirect to 307. + // Allow both the old (301) and new (307) codes. + if resp.StatusCode != want.status && resp.StatusCode != 301 { + t.Errorf("(path: %q) got status %d, want %d", path, resp.StatusCode, want.status) + continue + } + } else if resp.StatusCode != want.status { t.Errorf("(path: %q) got status %d, want %d", path, resp.StatusCode, want.status) continue } - if want.status != 301 && want.status != 302 { + if want.status < 300 || want.status > 399 { // Not a redirect. Just check status. continue } |
