From 59570313d64d2b4e4d2d77fa58f2e5eb3bb52397 Mon Sep 17 00:00:00 2001 From: Carlana Johnson Date: Thu, 8 Aug 2024 17:12:47 -0400 Subject: [PATCH] requests: Block use of http.DefaultClient --- pkg/almanack/flags.go | 5 ++++- pkg/almlog/httplogger.go | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/pkg/almanack/flags.go b/pkg/almanack/flags.go index 0ae6b901e..9ac43ca83 100644 --- a/pkg/almanack/flags.go +++ b/pkg/almanack/flags.go @@ -14,6 +14,7 @@ import ( "github.com/spotlightpa/almanack/internal/index" "github.com/spotlightpa/almanack/internal/mailchimp" "github.com/spotlightpa/almanack/internal/plausible" + "github.com/spotlightpa/almanack/pkg/almlog" ) func AddFlags(fl *flag.FlagSet) func() (svc Services, err error) { @@ -42,7 +43,9 @@ func AddFlags(fl *flag.FlagSet) func() (svc Services, err error) { return } - client := *http.DefaultClient + client := http.Client{ + Transport: almlog.HTTPTransport, + } is, fs := getS3Store() mc := mailchimp.NewMailService(*mailServiceAPIKey, *mailServiceListID, &client) diff --git a/pkg/almlog/httplogger.go b/pkg/almlog/httplogger.go index 688b0cd70..4587c8ae0 100644 --- a/pkg/almlog/httplogger.go +++ b/pkg/almlog/httplogger.go @@ -1,14 +1,19 @@ package almlog import ( + "errors" "net/http" "time" "github.com/carlmjohnson/requests" ) +var HTTPTransport http.RoundTripper + func init() { - http.DefaultTransport = requests.LogTransport(http.DefaultTransport, logReq) + HTTPTransport = requests.LogTransport(http.DefaultTransport, logReq) + http.DefaultTransport = requests.ErrorTransport(errors.New("use of http.DefaultTransport")) + http.DefaultClient.Transport = requests.ErrorTransport(errors.New("use of http.DefaultClient")) } func logReq(req *http.Request, res *http.Response, err error, duration time.Duration) {