add context for conn

This commit is contained in:
ginuerzh
2025-08-04 19:29:38 +08:00
parent ad5cf6fd61
commit b597467858
90 changed files with 889 additions and 917 deletions
+7 -9
View File
@@ -10,7 +10,8 @@ import (
"github.com/go-gost/core/dialer"
"github.com/go-gost/core/logger"
md "github.com/go-gost/core/metadata"
ctxvalue "github.com/go-gost/x/ctx"
xctx "github.com/go-gost/x/ctx"
ictx "github.com/go-gost/x/internal/ctx"
net_dialer "github.com/go-gost/x/internal/net/dialer"
"github.com/go-gost/x/internal/net/proxyproto"
mdx "github.com/go-gost/x/metadata"
@@ -25,7 +26,6 @@ type http2Dialer struct {
clients map[string]*http.Client
clientMutex sync.Mutex
logger logger.Logger
md metadata
options dialer.Options
}
@@ -100,8 +100,8 @@ func (d *http2Dialer) Dial(ctx context.Context, address string, opts ...dialer.D
conn = proxyproto.WrapClientConn(
d.options.ProxyProtocol,
ctxvalue.SrcAddrFromContext(ctx),
ctxvalue.DstAddrFromContext(ctx),
xctx.SrcAddrFromContext(ctx),
xctx.DstAddrFromContext(ctx),
conn)
return conn, nil
@@ -116,7 +116,7 @@ func (d *http2Dialer) Dial(ctx context.Context, address string, opts ...dialer.D
d.clients[address] = client
}
var c net.Conn = &conn{
return &conn{
localAddr: &net.TCPAddr{},
remoteAddr: raddr,
onClose: func() {
@@ -124,8 +124,6 @@ func (d *http2Dialer) Dial(ctx context.Context, address string, opts ...dialer.D
defer d.clientMutex.Unlock()
delete(d.clients, address)
},
md: mdx.NewMetadata(map[string]any{"client": client}),
}
return c, nil
ctx: ictx.ContextWithMetadata(ctx, mdx.NewMetadata(map[string]any{"client": client})),
}, nil
}