diff --git a/http/client.go b/http/client.go index 04b42ec..33fd6da 100644 --- a/http/client.go +++ b/http/client.go @@ -60,10 +60,11 @@ func ReadResponse(r io.Reader) (*Response, error) { if _, err := b.ReadString(' '); err != nil { return nil, errors.New("read httpVersion") } - statusCodeStr, err := b.ReadString(' ') + statusCode, err := b.ReadString(' ') if err != nil { return nil, errors.New("read statusCode") } + statusCode = statusCode[:len(statusCode)-1] if _, err := b.ReadString('\r'); err != nil { return nil, errors.New("read statusName") } @@ -71,11 +72,6 @@ func ReadResponse(r io.Reader) (*Response, error) { return nil, errors.New("read LF") } - statusCode, err := strconv.Atoi(statusCodeStr[:len(statusCodeStr)-1]) - if err != nil { - return nil, errors.New("read statusCode") - } - headerStr := "" contentLengthStr := "" headers := []Header{} diff --git a/http/http.go b/http/http.go index a5ce2a7..85a55a1 100644 --- a/http/http.go +++ b/http/http.go @@ -7,7 +7,17 @@ type Request struct { Headers []Header - Body string + Body []byte +} + +type Response struct { + Protocol string + StatusCode string + StatusMessage string + + Headers []Header + + Body []byte } type Header struct { diff --git a/http/response.go b/http/response.go index 8db8786..921caf6 100644 --- a/http/response.go +++ b/http/response.go @@ -8,12 +8,6 @@ var ( ErrHeaderNotFound = errors.New("header not found") ) -type Response struct { - StatusCode int - Headers []Header - Body []byte -} - func (r *Response) GetHeader(name string) (Header, error) { for _, h := range r.Headers { if h.Name == name {