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/frame/g"
|
||||||
"github.com/gogf/gf/v2/net/ghttp"
|
"github.com/gogf/gf/v2/net/ghttp"
|
||||||
"github.com/gogf/gf/v2/net/gsvc"
|
"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/os/gtime"
|
||||||
"github.com/gogf/gf/v2/util/gconv"
|
"github.com/gogf/gf/v2/util/gconv"
|
||||||
)
|
)
|
||||||
@@ -60,21 +59,18 @@ func RouteRegister(controllers []interface{}) {
|
|||||||
}
|
}
|
||||||
go Httpserver.Run()
|
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)
|
err = utils.ValidStructPtr(target)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Httpclient.SetHeaderMap(headers)
|
||||||
Httpclient.SetHeader("Authorization", g.RequestFromCtx(ctx).GetHeader("Authorization"))
|
Httpclient.SetHeader("Authorization", g.RequestFromCtx(ctx).GetHeader("Authorization"))
|
||||||
response, err := Httpclient.DoRequest(ctx, method, url, data)
|
response, err := Httpclient.DoRequest(ctx, method, url, data)
|
||||||
|
defer response.Close()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer func() {
|
|
||||||
if err = response.Close(); err != nil {
|
|
||||||
glog.Error(ctx, err)
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
result := response.ReadAll()
|
result := response.ReadAll()
|
||||||
resultStrut := &ghttp.DefaultHandlerResponse{}
|
resultStrut := &ghttp.DefaultHandlerResponse{}
|
||||||
if gconv.Struct(result, &resultStrut); resultStrut.Code != 200 {
|
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
|
return
|
||||||
}
|
}
|
||||||
func Get(ctx context.Context, url string, target any, data ...any) (err error) {
|
func Get(ctx context.Context, url string, headers map[string]string, target any, data ...any) (err error) {
|
||||||
err = doRequest(ctx, http.MethodGet, url, target, data)
|
err = doRequest(ctx, http.MethodGet, url, headers, target, data)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
func Post(ctx context.Context, url string, target any, data ...any) (err error) {
|
func Post(ctx context.Context, url string, headers map[string]string, target any, data ...any) (err error) {
|
||||||
err = doRequest(ctx, http.MethodPost, url, target, data)
|
err = doRequest(ctx, http.MethodPost, url, headers, target, data)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
func Put(ctx context.Context, url string, target any, data ...any) (err error) {
|
func Put(ctx context.Context, url string, headers map[string]string, target any, data ...any) (err error) {
|
||||||
err = doRequest(ctx, http.MethodPut, url, target, data)
|
err = doRequest(ctx, http.MethodPut, url, headers, target, data)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
func Delete(ctx context.Context, url string, target any, data ...any) (err error) {
|
func Delete(ctx context.Context, url string, headers map[string]string, target any, data ...any) (err error) {
|
||||||
err = doRequest(ctx, http.MethodPut, url, target, data)
|
err = doRequest(ctx, http.MethodPut, url, headers, target, data)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user