diff options
-rw-r--r-- | src/pkg/http/request.go | 5 | ||||
-rw-r--r-- | src/pkg/http/response.go | 12 |
2 files changed, 13 insertions, 4 deletions
diff --git a/src/pkg/http/request.go b/src/pkg/http/request.go index 17afc9cc1..bd8f00d55 100644 --- a/src/pkg/http/request.go +++ b/src/pkg/http/request.go @@ -171,7 +171,10 @@ func (req *Request) Write(w io.Writer) os.Error { // from Request, and introduce Request methods along the lines of // Response.{GetHeader,AddHeader} and string constants for "Host", // "User-Agent" and "Referer". - writeSortedKeyValue(w, req.Header, reqExcludeHeader) + err := writeSortedKeyValue(w, req.Header, reqExcludeHeader) + if err != nil { + return err + } io.WriteString(w, "\r\n") diff --git a/src/pkg/http/response.go b/src/pkg/http/response.go index 30f893491..b3743a88c 100644 --- a/src/pkg/http/response.go +++ b/src/pkg/http/response.go @@ -459,7 +459,10 @@ func (resp *Response) Write(w io.Writer) os.Error { } // Rest of header - writeSortedKeyValue(w, resp.Header, respExcludeHeader) + err := writeSortedKeyValue(w, resp.Header, respExcludeHeader) + if err != nil { + return err + } // End-of-header io.WriteString(w, "\r\n") @@ -494,7 +497,7 @@ func (resp *Response) Write(w io.Writer) os.Error { return nil } -func writeSortedKeyValue(w io.Writer, kvm map[string]string, exclude map[string]int) { +func writeSortedKeyValue(w io.Writer, kvm map[string]string, exclude map[string]int) os.Error { kva := make([]string, len(kvm)) i := 0 for k, v := range kvm { @@ -506,6 +509,9 @@ func writeSortedKeyValue(w io.Writer, kvm map[string]string, exclude map[string] kva = kva[0:i] sort.SortStrings(kva) for _, l := range kva { - io.WriteString(w, l) + if _, err := io.WriteString(w, l); err != nil { + return err + } } + return nil } |