diff --git a/http/http.go b/http/http.go index 67bdc51..2fcfdbc 100644 --- a/http/http.go +++ b/http/http.go @@ -15,7 +15,6 @@ import ( "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" "github.com/gogf/gf/v2/net/gsvc" - "github.com/gogf/gf/v2/os/glog" "github.com/gogf/gf/v2/os/gtime" "github.com/gogf/gf/v2/util/gconv" ) @@ -60,21 +59,18 @@ func RouteRegister(controllers []interface{}) { } go Httpserver.Run() } -func doRequest(ctx context.Context, method string, url string, target any, data ...any) (err error) { +func doRequest(ctx context.Context, method string, url string, headers map[string]string, target any, data ...any) (err error) { err = utils.ValidStructPtr(target) if err != nil { return } + Httpclient.SetHeaderMap(headers) Httpclient.SetHeader("Authorization", g.RequestFromCtx(ctx).GetHeader("Authorization")) response, err := Httpclient.DoRequest(ctx, method, url, data) + defer response.Close() if err != nil { return } - defer func() { - if err = response.Close(); err != nil { - glog.Error(ctx, err) - } - }() result := response.ReadAll() resultStrut := &ghttp.DefaultHandlerResponse{} if gconv.Struct(result, &resultStrut); resultStrut.Code != 200 { @@ -84,19 +80,19 @@ func doRequest(ctx context.Context, method string, url string, target any, data } return } -func Get(ctx context.Context, url string, target any, data ...any) (err error) { - err = doRequest(ctx, http.MethodGet, url, target, data) +func Get(ctx context.Context, url string, headers map[string]string, target any, data ...any) (err error) { + err = doRequest(ctx, http.MethodGet, url, headers, target, data) return } -func Post(ctx context.Context, url string, target any, data ...any) (err error) { - err = doRequest(ctx, http.MethodPost, url, target, data) +func Post(ctx context.Context, url string, headers map[string]string, target any, data ...any) (err error) { + err = doRequest(ctx, http.MethodPost, url, headers, target, data) return } -func Put(ctx context.Context, url string, target any, data ...any) (err error) { - err = doRequest(ctx, http.MethodPut, url, target, data) +func Put(ctx context.Context, url string, headers map[string]string, target any, data ...any) (err error) { + err = doRequest(ctx, http.MethodPut, url, headers, target, data) return } -func Delete(ctx context.Context, url string, target any, data ...any) (err error) { - err = doRequest(ctx, http.MethodPut, url, target, data) +func Delete(ctx context.Context, url string, headers map[string]string, target any, data ...any) (err error) { + err = doRequest(ctx, http.MethodPut, url, headers, target, data) return }