diff options
Diffstat (limited to 'src/pkg/http/response.go')
-rw-r--r-- | src/pkg/http/response.go | 12 |
1 files changed, 9 insertions, 3 deletions
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 } |