]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/godoc: when redirecting don't clear query string
authorShenghou Ma <minux.ma@gmail.com>
Thu, 17 Jan 2013 10:50:49 +0000 (18:50 +0800)
committerShenghou Ma <minux.ma@gmail.com>
Thu, 17 Jan 2013 10:50:49 +0000 (18:50 +0800)
so that http://golang.org/pkg/runtime?m=all works.

R=bradfitz
CC=golang-dev
https://golang.org/cl/7094046

src/cmd/godoc/godoc.go

index 12148ec1cd4e1ffc74cd70d4f4e0461dcbe1429c..54cd8ef2d5eb24933ae81a198a059cc82cb7d848 100644 (file)
@@ -656,7 +656,9 @@ func redirect(w http.ResponseWriter, r *http.Request) (redirected bool) {
                canonical += "/"
        }
        if r.URL.Path != canonical {
-               http.Redirect(w, r, canonical, http.StatusMovedPermanently)
+               url := *r.URL
+               url.Path = canonical
+               http.Redirect(w, r, url.String(), http.StatusMovedPermanently)
                redirected = true
        }
        return
@@ -668,7 +670,9 @@ func redirectFile(w http.ResponseWriter, r *http.Request) (redirected bool) {
                c = c[:len(c)-1]
        }
        if r.URL.Path != c {
-               http.Redirect(w, r, c, http.StatusMovedPermanently)
+               url := *r.URL
+               url.Path = c
+               http.Redirect(w, r, url.String(), http.StatusMovedPermanently)
                redirected = true
        }
        return