diff --git a/curlx.go b/curlx.go index 76ecc2c..442304b 100644 --- a/curlx.go +++ b/curlx.go @@ -105,8 +105,8 @@ func (c *Curlx) WithAddress(ctx context.Context, addr string) { */ func (c *Curlx) Send(ctx context.Context, p ...Param) (res []byte, err error) { resp := c.exec(ctx, p...) - if resp.Err != nil { - return nil, resp.Err + if resp.err != nil { + return nil, resp.err } defer resp.Close() // 处理完关闭 @@ -189,7 +189,7 @@ func (c *Curlx) exec(ctx context.Context, ps ...Param) Response { err := p.parseMethod() if err != nil { c.opts.Logger.Errorf(ctx, "curlx.sendExec parseMethod err:%v", err) - resp.Err = err + resp.err = err return resp } @@ -197,7 +197,7 @@ func (c *Curlx) exec(ctx context.Context, ps ...Param) Response { err = p.parseUrl() if err != nil { c.opts.Logger.Errorf(ctx, "curlx.sendExec parseUrl err:%v", err) - resp.Err = err + resp.err = err return resp } @@ -205,7 +205,7 @@ func (c *Curlx) exec(ctx context.Context, ps ...Param) Response { reqParams, err := p.parseParams() if err != nil { c.opts.Logger.Errorf(ctx, "curlx.sendExec parseParams err:%v", err) - resp.Err = err + resp.err = err return resp } @@ -217,12 +217,12 @@ func (c *Curlx) exec(ctx context.Context, ps ...Param) Response { ) if err != nil { c.opts.Logger.Errorf(ctx, "curlx.sendExec NewRequest err:%v", err) - resp.Err = err + resp.err = err return resp } c.opts.Logger.Infof(ctx, "curlx.sendExec request:%+v", request) - resp.Request = request + resp.request = request // 这里指定要访问的HOST,到时候服务器获取主机是获取到这个 // request.Host = "api.hk.blueoceantech.co" @@ -240,10 +240,10 @@ func (c *Curlx) exec(ctx context.Context, ps ...Param) Response { response, err := client.Do(request) if err != nil { c.opts.Logger.Errorf(ctx, "curlx.sendExec client.Do err:%v", err) - resp.Err = err + resp.err = err return resp } - resp.Response = response + resp.response = response return resp } @@ -262,11 +262,11 @@ func (c *Curlx) SendStream(ctx context.Context, ps ...Param) (<-chan string, err defer cancel() response := c.exec(ctx, ps...) - if response.Err != nil { + if response.err != nil { return } defer response.Close() // 处理完关闭 - scanner := bufio.NewScanner(response.Response.Body) + scanner := bufio.NewScanner(response.response.Body) for scanner.Scan() { text := scanner.Text() if text == "" { diff --git a/resopnse.go b/resopnse.go index 7edc69e..212c198 100644 --- a/resopnse.go +++ b/resopnse.go @@ -12,43 +12,43 @@ import ( // Response response object type Response struct { - Response *http.Response - Request *http.Request - Body []byte - Err error + response *http.Response + request *http.Request + body []byte + err error } func (l *Response) Close() error { - if l.Response.Body != nil { - return l.Response.Body.Close() + if l.response.Body != nil { + return l.response.Body.Close() } return nil } // GetRequest get request object func (r *Response) GetRequest() *http.Request { - return r.Request + return r.request } func (r *Response) GetResponse() *http.Response { - return r.Response + return r.response } // GetBody parse response body func (r *Response) GetBody() ([]byte, error) { - if r.Err != nil { - return nil, r.Err + if r.err != nil { + return nil, r.err } - if r.Body != nil { - return r.Body, nil + if r.body != nil { + return r.body, nil } - if r.Response == nil { + if r.response == nil { return nil, nil } body := []byte{} var err error - if r.Response.Header.Get("Content-Encoding") == "gzip" { - reader, err := gzip.NewReader(r.Response.Body) + if r.response.Header.Get("Content-Encoding") == "gzip" { + reader, err := gzip.NewReader(r.response.Body) if err != nil { return nil, err } @@ -58,31 +58,31 @@ func (r *Response) GetBody() ([]byte, error) { return nil, err } } else { - body, err = io.ReadAll(r.Response.Body) + body, err = io.ReadAll(r.response.Body) if err != nil { return nil, err } } // close body - r.Response.Body.Close() + r.response.Body.Close() - r.Body = body + r.body = body return body, err } func (r Response) GetStatusCode() int { - if r.Response == nil { + if r.response == nil { return 0 } - return r.Response.StatusCode + return r.response.StatusCode } // IsTimeout get if request is timeout func (r *Response) IsTimeout() bool { - if r.Err == nil { + if r.err == nil { return false } - netErr, ok := r.Err.(net.Error) + netErr, ok := r.err.(net.Error) if !ok { return false } @@ -106,7 +106,10 @@ func (r *Response) GetParsedBody() (*gjson.Result, error) { // GetHeaders get response headers func (r *Response) GetHeaders() map[string][]string { - return r.Response.Header + if r.response == nil { + return nil + } + return r.response.Header } // GetHeader get response header