common/http增加headers参数
This commit is contained in:
26
http/http.go
26
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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user