From 702151a2001763aa0b535304377b4b2415141c92 Mon Sep 17 00:00:00 2001 From: Sameer Ajmani Date: Wed, 1 Feb 2012 09:43:22 -0500 Subject: [PATCH] godoc: fix redirect loop for URL "/". R=golang-dev, bradfitz, rsc, adg CC=golang-dev https://golang.org/cl/5606045 --- src/cmd/godoc/godoc.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/cmd/godoc/godoc.go b/src/cmd/godoc/godoc.go index e3ac3d2bd1..a4a0d8333c 100644 --- a/src/cmd/godoc/godoc.go +++ b/src/cmd/godoc/godoc.go @@ -499,7 +499,7 @@ func example_htmlFunc(funcName string, examples []*doc.Example, fset *token.File for _, eg := range examples { name := eg.Name - // strip lowercase braz in Foo_braz or Foo_Bar_braz from name + // strip lowercase braz in Foo_braz or Foo_Bar_braz from name // while keeping uppercase Braz in Foo_Braz if i := strings.LastIndex(name, "_"); i != -1 { if i < len(name)-1 && !startsWithUppercase(name[i+1:]) { @@ -743,7 +743,11 @@ func applyTemplate(t *template.Template, name string, data interface{}) []byte { } func redirect(w http.ResponseWriter, r *http.Request) (redirected bool) { - if canonical := path.Clean(r.URL.Path) + "/"; r.URL.Path != canonical { + canonical := path.Clean(r.URL.Path) + if !strings.HasSuffix("/", canonical) { + canonical += "/" + } + if r.URL.Path != canonical { http.Redirect(w, r, canonical, http.StatusMovedPermanently) redirected = true } -- 2.50.0