common/http增加headers参数

This commit is contained in:
2025-12-23 16:33:57 +08:00
parent 61223b0546
commit 3dc3ebc9ad

View File

@@ -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
}