Commit 702151a2 authored by Sameer Ajmani's avatar Sameer Ajmani

godoc: fix redirect loop for URL "/".

R=golang-dev, bradfitz, rsc, adg
CC=golang-dev
https://golang.org/cl/5606045
parent e280035f
......@@ -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
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment