From ff08c404033d43e47a0834119c894d251a916cf9 Mon Sep 17 00:00:00 2001 From: yusing Date: Fri, 23 May 2025 21:12:46 +0800 Subject: [PATCH] fix(agent): docker handler --- agent/pkg/handler/handler.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/agent/pkg/handler/handler.go b/agent/pkg/handler/handler.go index 3b57511..9d07556 100644 --- a/agent/pkg/handler/handler.go +++ b/agent/pkg/handler/handler.go @@ -6,7 +6,6 @@ import ( "net" "net/http" "net/http/httputil" - "net/url" "time" "github.com/yusing/go-proxy/agent/pkg/agent" @@ -32,12 +31,15 @@ func dialDockerSocket(ctx context.Context, _, _ string) (net.Conn, error) { } func dockerSocketHandler() http.HandlerFunc { - rp := httputil.NewSingleHostReverseProxy(&url.URL{ - Scheme: "http", - Host: "api.moby.localhost", - }) - rp.Transport = &http.Transport{ - DialContext: dialDockerSocket, + rp := httputil.ReverseProxy{ + Director: func(r *http.Request) { + r.URL.Scheme = "http" + r.URL.Host = "api.moby.localhost" + r.RequestURI = r.URL.String() + }, + Transport: &http.Transport{ + DialContext: dialDockerSocket, + }, } return rp.ServeHTTP }