From e1d96cb64e612a210441473191cd29be412634e0 Mon Sep 17 00:00:00 2001 From: H1JK Date: Sat, 8 Apr 2023 18:46:35 +0800 Subject: [PATCH] Add BaseContext to http servers --- inbound/naive.go | 3 +++ transport/v2raygrpclite/server.go | 3 +++ transport/v2rayhttp/server.go | 3 +++ transport/v2raywebsocket/server.go | 3 +++ 4 files changed, 12 insertions(+) diff --git a/inbound/naive.go b/inbound/naive.go index a506ecd4..6a956714 100644 --- a/inbound/naive.go +++ b/inbound/naive.go @@ -90,6 +90,9 @@ func (n *Naive) Start() error { n.httpServer = &http.Server{ Handler: n, TLSConfig: tlsConfig, + BaseContext: func(listener net.Listener) context.Context { + return n.ctx + }, } go func() { var sErr error diff --git a/transport/v2raygrpclite/server.go b/transport/v2raygrpclite/server.go index 774d880f..bcf55def 100644 --- a/transport/v2raygrpclite/server.go +++ b/transport/v2raygrpclite/server.go @@ -50,6 +50,9 @@ func NewServer(ctx context.Context, options option.V2RayGRPCOptions, tlsConfig t } server.httpServer = &http.Server{ Handler: server, + BaseContext: func(net.Listener) context.Context { + return ctx + }, } server.h2cHandler = h2c.NewHandler(server, server.h2Server) return server, nil diff --git a/transport/v2rayhttp/server.go b/transport/v2rayhttp/server.go index 304836ec..962f0ab1 100644 --- a/transport/v2rayhttp/server.go +++ b/transport/v2rayhttp/server.go @@ -70,6 +70,9 @@ func NewServer(ctx context.Context, options option.V2RayHTTPOptions, tlsConfig t Handler: server, ReadHeaderTimeout: C.TCPTimeout, MaxHeaderBytes: http.DefaultMaxHeaderBytes, + BaseContext: func(net.Listener) context.Context { + return ctx + }, } server.h2cHandler = h2c.NewHandler(server, server.h2Server) return server, nil diff --git a/transport/v2raywebsocket/server.go b/transport/v2raywebsocket/server.go index 47dee8fc..73bf56ff 100644 --- a/transport/v2raywebsocket/server.go +++ b/transport/v2raywebsocket/server.go @@ -52,6 +52,9 @@ func NewServer(ctx context.Context, options option.V2RayWebsocketOptions, tlsCon Handler: server, ReadHeaderTimeout: C.TCPTimeout, MaxHeaderBytes: http.DefaultMaxHeaderBytes, + BaseContext: func(net.Listener) context.Context { + return ctx + }, } return server, nil }