From 63d29fefab5290dc96e0a03ff70603aefa995887 Mon Sep 17 00:00:00 2001 From: Ondřej Surý Date: Mon, 23 May 2011 09:45:29 +0200 Subject: Imported Upstream version 2011.05.22 --- src/pkg/http/server.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/pkg/http/server.go') 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 } } -- cgit v1.2.3