diff --git a/internal/httpclient/httpclient.go b/internal/httpclient/httpclient.go index 30c269b..7cdcf5b 100644 --- a/internal/httpclient/httpclient.go +++ b/internal/httpclient/httpclient.go @@ -5,6 +5,7 @@ package httpclient import ( "fmt" + "log" "net/http" "github.com/hashicorp/go-retryablehttp" @@ -13,8 +14,10 @@ import ( // NewHTTPClient provides a pre-configured http.Client // e.g. with relevant User-Agent header -func NewHTTPClient() *http.Client { - client := retryablehttp.NewClient().StandardClient() +func NewHTTPClient(logger *log.Logger) *http.Client { + rc := retryablehttp.NewClient() + rc.Logger = logger + client := rc.StandardClient() client.Transport = &userAgentRoundTripper{ userAgent: fmt.Sprintf("hc-install/%s", version.Version()), inner: client.Transport, diff --git a/internal/releasesjson/checksum_downloader.go b/internal/releasesjson/checksum_downloader.go index 59dd1a1..264801b 100644 --- a/internal/releasesjson/checksum_downloader.go +++ b/internal/releasesjson/checksum_downloader.go @@ -52,7 +52,7 @@ func (cd *ChecksumDownloader) DownloadAndVerifyChecksums(ctx context.Context) (C return nil, err } - client := httpclient.NewHTTPClient() + client := httpclient.NewHTTPClient(cd.Logger) sigURL := fmt.Sprintf("%s/%s/%s/%s", cd.BaseURL, url.PathEscape(cd.ProductVersion.Name), url.PathEscape(cd.ProductVersion.Version.String()), diff --git a/internal/releasesjson/downloader.go b/internal/releasesjson/downloader.go index 2f937f1..708915e 100644 --- a/internal/releasesjson/downloader.go +++ b/internal/releasesjson/downloader.go @@ -62,7 +62,7 @@ func (d *Downloader) DownloadAndUnpack(ctx context.Context, pv *ProductVersion, } } - client := httpclient.NewHTTPClient() + client := httpclient.NewHTTPClient(d.Logger) archiveURL, err := determineArchiveURL(pb.URL, d.BaseURL) if err != nil { diff --git a/internal/releasesjson/releases.go b/internal/releasesjson/releases.go index 4c0bab0..cae7f53 100644 --- a/internal/releasesjson/releases.go +++ b/internal/releasesjson/releases.go @@ -65,7 +65,7 @@ func (r *Releases) SetLogger(logger *log.Logger) { } func (r *Releases) ListProductVersions(ctx context.Context, productName string) (ProductVersionsMap, error) { - client := httpclient.NewHTTPClient() + client := httpclient.NewHTTPClient(r.logger) productIndexURL := fmt.Sprintf("%s/%s/index.json", r.BaseURL, @@ -122,7 +122,7 @@ func (r *Releases) ListProductVersions(ctx context.Context, productName string) } func (r *Releases) GetProductVersion(ctx context.Context, product string, version *version.Version) (*ProductVersion, error) { - client := httpclient.NewHTTPClient() + client := httpclient.NewHTTPClient(r.logger) indexURL := fmt.Sprintf("%s/%s/%s/index.json", r.BaseURL,