diff options
Diffstat (limited to 'src/pkg/http/client.go')
| -rw-r--r-- | src/pkg/http/client.go | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/pkg/http/client.go b/src/pkg/http/client.go index 52a536fb3..8c17eb8e3 100644 --- a/src/pkg/http/client.go +++ b/src/pkg/http/client.go @@ -108,13 +108,12 @@ func send(req *Request) (resp *Response, err os.Error) { if err != nil { return nil, err; } - i := strings.Index(line, " "); - j := strings.Index(line[i+1:len(line)], " ") + i+1; - if i < 0 || j < 0 { + f := strings.Split(line, " ", 3); + if len(f) < 3 { return nil, os.ErrorString(fmt.Sprintf("Invalid first line in HTTP response: %q", line)); } - resp.Status = line[i+1:len(line)]; - resp.StatusCode, err = strconv.Atoi(line[i+1:j]); + resp.Status = f[1] + " " + f[2]; + resp.StatusCode, err = strconv.Atoi(f[1]); if err != nil { return nil, os.ErrorString(fmt.Sprintf("Invalid status code in HTTP response: %q", line)); } |
