diff options
| author | Michael Matloob <matloob@golang.org> | 2023-08-28 13:39:03 -0400 |
|---|---|---|
| committer | Michael Matloob <matloob@golang.org> | 2023-08-29 23:29:11 +0000 |
| commit | ebe617b30c52774fccf9d36331cbff31e99aaf9e (patch) | |
| tree | 9b413e7ec61ce6a08e169d8ab95eb3bca1b1effc /cmd | |
| parent | 6b2c42d38504a02ea8b77abc7c592b64aa39109d (diff) | |
| download | go-x-pkgsite-ebe617b30c52774fccf9d36331cbff31e99aaf9e.tar.xz | |
internal/source: inject *http.Client into source.NewClient
This removes the dependency from package source onto ochttp. The users
of source.NewClient that want an ochttp.Transport can set the
transport on the *http.Client.
For golang/go#61399
Change-Id: Ifb7126c482f664ee5a359f594d9324f0fd90f8b2
Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/523510
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Robert Findley <rfindley@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Matloob <matloob@golang.org>
kokoro-CI: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/frontend/main.go | 12 | ||||
| -rw-r--r-- | cmd/pkgsite/main.go | 2 | ||||
| -rw-r--r-- | cmd/worker/main.go | 6 |
3 files changed, 16 insertions, 4 deletions
diff --git a/cmd/frontend/main.go b/cmd/frontend/main.go index 13324a3c..1530c9d4 100644 --- a/cmd/frontend/main.go +++ b/cmd/frontend/main.go @@ -15,6 +15,7 @@ import ( "cloud.google.com/go/profiler" "github.com/go-redis/redis/v8" "github.com/google/safehtml/template" + "go.opencensus.io/plugin/ochttp" "golang.org/x/pkgsite/cmd/internal/cmdconfig" "golang.org/x/pkgsite/internal" "golang.org/x/pkgsite/internal/config" @@ -84,8 +85,12 @@ func main() { } if *directProxy { + sourceClient := source.NewClient(&http.Client{Transport: &ochttp.Transport{}, Timeout: 1 * time.Minute}) ds := fetchdatasource.Options{ - Getters: []fetch.ModuleGetter{fetch.NewProxyModuleGetter(proxyClient, source.NewClient(1*time.Minute)), fetch.NewStdlibZipModuleGetter()}, + Getters: []fetch.ModuleGetter{ + fetch.NewProxyModuleGetter(proxyClient, sourceClient), + fetch.NewStdlibZipModuleGetter(), + }, ProxyClientForLatest: proxyClient, BypassLicenseCheck: *bypassLicenseCheck, }.New() @@ -97,7 +102,10 @@ func main() { } defer db.Close() dsg = func(context.Context) internal.DataSource { return db } - sourceClient := source.NewClient(config.SourceTimeout) + sourceClient := source.NewClient(&http.Client{ + Transport: &ochttp.Transport{}, + Timeout: config.SourceTimeout, + }) // The closure passed to queue.New is only used for testing and local // execution, not in production. So it's okay that it doesn't use a // per-request connection. diff --git a/cmd/pkgsite/main.go b/cmd/pkgsite/main.go index 9f5eaefd..1883dbd8 100644 --- a/cmd/pkgsite/main.go +++ b/cmd/pkgsite/main.go @@ -396,7 +396,7 @@ func buildGetters(ctx context.Context, cfg getterConfig) ([]fetch.ModuleGetter, // Add a proxy if cfg.proxy != nil { - getters = append(getters, fetch.NewProxyModuleGetter(cfg.proxy, source.NewClient(time.Second))) + getters = append(getters, fetch.NewProxyModuleGetter(cfg.proxy, source.NewClient(&http.Client{Timeout: time.Second}))) } getters = append(getters, fetch.NewStdlibZipModuleGetter()) diff --git a/cmd/worker/main.go b/cmd/worker/main.go index 495d1b37..df8fed0e 100644 --- a/cmd/worker/main.go +++ b/cmd/worker/main.go @@ -17,6 +17,7 @@ import ( "github.com/go-redis/redis/v8" "github.com/google/safehtml/template" _ "github.com/jackc/pgx/v4/stdlib" // for pgx driver + "go.opencensus.io/plugin/ochttp" "golang.org/x/pkgsite/cmd/internal/cmdconfig" "golang.org/x/pkgsite/internal/config" "golang.org/x/pkgsite/internal/config/serverconfig" @@ -75,7 +76,10 @@ func main() { if err != nil { log.Fatal(ctx, err) } - sourceClient := source.NewClient(config.SourceTimeout) + sourceClient := source.NewClient(&http.Client{ + Transport: &ochttp.Transport{}, + Timeout: config.SourceTimeout, + }) expg := cmdconfig.ExperimentGetter(ctx, cfg) fetchQueue, err := gcpqueue.New(ctx, cfg, queueName, *workers, expg, func(ctx context.Context, modulePath, version string) (int, error) { |
