From e7c4ac4288725f1df5ffbc53cd44cb5e83d6a4ec Mon Sep 17 00:00:00 2001 From: thedae Date: Tue, 10 Dec 2024 13:13:06 +0100 Subject: [PATCH 1/2] Remove race warnings Signed-off-by: thedae --- proxy/shadow.go | 12 +++++++----- transport/http/server/server.go | 4 ++-- transport/http/server/server_test.go | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/proxy/shadow.go b/proxy/shadow.go index 080212154..edc5885cf 100644 --- a/proxy/shadow.go +++ b/proxy/shadow.go @@ -28,10 +28,12 @@ func (s shadowFactory) New(cfg *config.EndpointConfig) (p Proxy, err error) { return } + cfgCopy := *cfg + var shadow []*config.Backend var regular []*config.Backend var maxTimeout time.Duration - for _, b := range cfg.Backend { + for _, b := range cfgCopy.Backend { if d, ok := isShadowBackend(b); ok { if maxTimeout < d { maxTimeout = d @@ -42,12 +44,12 @@ func (s shadowFactory) New(cfg *config.EndpointConfig) (p Proxy, err error) { regular = append(regular, b) } - cfg.Backend = regular - p, err = s.f.New(cfg) + cfgCopy.Backend = regular + p, err = s.f.New(&cfgCopy) if len(shadow) > 0 { - cfg.Backend = shadow - pShadow, _ := s.f.New(cfg) + cfgCopy.Backend = shadow + pShadow, _ := s.f.New(&cfgCopy) p = ShadowMiddlewareWithTimeout(maxTimeout, p, pShadow) } diff --git a/transport/http/server/server.go b/transport/http/server/server.go index 9d6281258..749ea8615 100644 --- a/transport/http/server/server.go +++ b/transport/http/server/server.go @@ -75,11 +75,11 @@ func InitHTTPDefaultTransportWithLogger(cfg config.ServiceConfig, logger logging cfg.ClientTLS.AllowInsecureConnections = true } onceTransportConfig.Do(func() { - http.DefaultTransport = newTransport(cfg, logger) + http.DefaultTransport = NewTransport(cfg, logger) }) } -func newTransport(cfg config.ServiceConfig, logger logging.Logger) *http.Transport { +func NewTransport(cfg config.ServiceConfig, logger logging.Logger) *http.Transport { return &http.Transport{ Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{ diff --git a/transport/http/server/server_test.go b/transport/http/server/server_test.go index 20c5f0f3b..6ca8f3a03 100644 --- a/transport/http/server/server_test.go +++ b/transport/http/server/server_test.go @@ -152,7 +152,7 @@ func TestRunServer_MTLS(t *testing.T) { // clientTLS config. // This is a copy of the code we can find inside // InitHTTPDefaultTransportWithLogger(serviceConfig, nil): - transport := newTransport(cfg, logger) + transport := NewTransport(cfg, logger) defClient := http.Client{ Transport: transport, From 7272f8d38f42869499bce77a3e1edd1b40e0c66d Mon Sep 17 00:00:00 2001 From: thedae Date: Tue, 10 Dec 2024 17:02:35 +0100 Subject: [PATCH 2/2] Deepsource fixes Signed-off-by: thedae --- transport/http/server/server_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/transport/http/server/server_test.go b/transport/http/server/server_test.go index 6ca8f3a03..a459f799b 100644 --- a/transport/http/server/server_test.go +++ b/transport/http/server/server_test.go @@ -116,7 +116,7 @@ func TestRunServer_MTLS(t *testing.T) { AllowInsecureConnections: false, // we do not check the server cert CaCerts: []string{"ca.pem"}, ClientCerts: []config.ClientTLSCert{ - config.ClientTLSCert{ + { Certificate: "cert.pem", PrivateKey: "key.pem", }, @@ -459,7 +459,7 @@ func mtlsClient(certPath, keyPath string) (*http.Client, error) { func h2cClient() *http.Client { return &http.Client{ Transport: &http2.Transport{ - DialTLSContext: func(ctx context.Context, network, addr string, cfg *tls.Config) (net.Conn, error) { + DialTLSContext: func(_ context.Context, network, addr string, _ *tls.Config) (net.Conn, error) { return net.Dial(network, addr) }, AllowHTTP: true, @@ -489,11 +489,11 @@ func TestRunServer_MultipleTLS(t *testing.T) { TLS: &config.TLS{ CaCerts: []string{"ca.pem", "exampleca.pem"}, Keys: []config.TLSKeyPair{ - config.TLSKeyPair{ + { PublicKey: "cert.pem", PrivateKey: "key.pem", }, - config.TLSKeyPair{ + { PublicKey: "examplecert.pem", PrivateKey: "examplekey.pem", },