From f2ba4b66b9d8e58bf3f5003c180ed04bfbf323c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=8C?= <259278618@qq.com> Date: Wed, 26 Nov 2025 11:56:05 +0800 Subject: [PATCH] =?UTF-8?q?consul.go=E5=8C=85=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- http/http.go | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/http/http.go b/http/http.go index 6b82dec..8d84822 100644 --- a/http/http.go +++ b/http/http.go @@ -9,7 +9,6 @@ import ( "gitee.com/red-future---jilin-g/common/utils" "github.com/gogf/gf/contrib/registry/consul/v2" "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/net/gclient" "github.com/gogf/gf/v2/net/ghttp" "github.com/gogf/gf/v2/net/gsel" "github.com/gogf/gf/v2/net/gsvc" @@ -33,6 +32,7 @@ type Page struct { } var Httpserver = g.Server() +var Httpclient = g.Client() func init() { //s.Use(common.Cors) //中间件验证 @@ -42,6 +42,17 @@ func init() { Httpserver.SetDumpRouterMap(true) //关闭打印路由注册信息 Httpserver.BindMiddlewareDefault(ghttp.MiddlewareHandlerResponse, jaeger.NewTracer) //使用默认http返回结构 go Httpserver.Run() + + consulCfg, _ := g.Cfg().Get(context.Background(), "consul.address") + consulAddr := consulCfg.String() + registry, err := consul.New(consul.WithAddress(consulAddr)) + if err != nil { + panic(err) + } + gsvc.SetRegistry(registry) + gsel.SetBuilder(gsel.NewBuilderRoundRobin()) + Httpclient.SetHeader("Authorization", g.RequestFromCtx(context.TODO()).GetHeader("Authorization")) + Httpclient.SetDiscovery(gsvc.GetRegistry()) } func RouteRegister(controllers []interface{}) { re := regexp.MustCompile("[A-Z]") @@ -55,30 +66,12 @@ func RouteRegister(controllers []interface{}) { }) } } -func getHttpClient(ctx context.Context) (client *gclient.Client, err error) { - consulCfg, _ := g.Cfg().Get(context.Background(), "consul.address") - consulAddr := consulCfg.String() - registry, err := consul.New(consul.WithAddress(consulAddr)) - if err != nil { - return - } - gsvc.SetRegistry(registry) - gsel.SetBuilder(gsel.NewBuilderRoundRobin()) - client = g.Client() - client.SetHeader("Authorization", g.RequestFromCtx(ctx).GetHeader("Authorization")) - client.SetDiscovery(gsvc.GetRegistry()) - return -} func doRequest(ctx context.Context, method string, url string, target any, data ...any) (err error) { err = utils.ValidStructPtr(target) if err != nil { return } - client, err := getHttpClient(ctx) - if err != nil { - return - } - response, err := client.DoRequest(ctx, method, url, data) + response, err := Httpclient.DoRequest(ctx, method, url, data) if err != nil { return }