diff options
| author | Ondřej Surý <ondrej@sury.org> | 2011-05-23 09:45:29 +0200 |
|---|---|---|
| committer | Ondřej Surý <ondrej@sury.org> | 2011-05-23 11:04:16 +0200 |
| commit | 4e5e42a1c1a9eb757743648c48df70cbd42635db (patch) | |
| tree | 64220a5cf0a1ad27206bbcdbc810ea56ba5ed67f /src/pkg/http/server.go | |
| parent | fd089e27d7260cee1c7ca449c41cdd0341ebc6cb (diff) | |
| download | golang-4e5e42a1c1a9eb757743648c48df70cbd42635db.tar.gz | |
Imported Upstream version 2011.05.22
Diffstat (limited to 'src/pkg/http/server.go')
| -rw-r--r-- | src/pkg/http/server.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/pkg/http/server.go b/src/pkg/http/server.go index 96d2cb638..eb5a3a365 100644 --- a/src/pkg/http/server.go +++ b/src/pkg/http/server.go @@ -309,7 +309,7 @@ func (w *response) WriteHeader(code int) { text = "status code " + codestring } io.WriteString(w.conn.buf, proto+" "+codestring+" "+text+"\r\n") - writeSortedHeader(w.conn.buf, w.header, nil) + w.header.Write(w.conn.buf) io.WriteString(w.conn.buf, "\r\n") } @@ -581,12 +581,18 @@ func Redirect(w ResponseWriter, r *Request, url string, code int) { url = olddir + url } + var query string + if i := strings.Index(url, "?"); i != -1 { + url, query = url[:i], url[i:] + } + // clean up but preserve trailing slash trailing := url[len(url)-1] == '/' url = path.Clean(url) if trailing && url[len(url)-1] != '/' { url += "/" } + url += query } } |
