From 58ae015c0e59d77066763a5b998f10512e113bf3 Mon Sep 17 00:00:00 2001 From: Radek Simko Date: Wed, 6 Apr 2022 09:55:23 +0100 Subject: [PATCH 1/2] internal/getproviders: Add URL to error message for clarity Occasionally `terraform init` on some providers may return the following error message: Error while installing citrix/citrixadc v1.13.0: could not query provider registry for registry.terraform.io/citrix/citrixadc: failed to retrieve authentication checksums for provider: 403 Forbidden The 403 is most often returned from GitHub (rather than Registry API) and this change makes it more obvious. --- internal/getproviders/registry_client.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/getproviders/registry_client.go b/internal/getproviders/registry_client.go index a31405ec01c8..482b6b6494df 100644 --- a/internal/getproviders/registry_client.go +++ b/internal/getproviders/registry_client.go @@ -437,7 +437,7 @@ func (c *registryClient) getFile(url *url.URL) ([]byte, error) { defer resp.Body.Close() if resp.StatusCode != http.StatusOK { - return nil, fmt.Errorf("%s", resp.Status) + return nil, fmt.Errorf("%s returned from %s", resp.Status, resp.Request.URL) } data, err := ioutil.ReadAll(resp.Body) From 8869206763b70cd3eae1f2bdd3b71b2ddf27bb5b Mon Sep 17 00:00:00 2001 From: Radek Simko Date: Thu, 14 Apr 2022 11:38:22 +0100 Subject: [PATCH 2/2] Use Host instead of full URL --- internal/getproviders/registry_client.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/getproviders/registry_client.go b/internal/getproviders/registry_client.go index 482b6b6494df..428d362e2c55 100644 --- a/internal/getproviders/registry_client.go +++ b/internal/getproviders/registry_client.go @@ -437,7 +437,7 @@ func (c *registryClient) getFile(url *url.URL) ([]byte, error) { defer resp.Body.Close() if resp.StatusCode != http.StatusOK { - return nil, fmt.Errorf("%s returned from %s", resp.Status, resp.Request.URL) + return nil, fmt.Errorf("%s returned from %s", resp.Status, resp.Request.Host) } data, err := ioutil.ReadAll(resp.Body) @@ -478,7 +478,7 @@ func maxRetryErrorHandler(resp *http.Response, err error, numTries int) (*http.R // both response and error. var errMsg string if resp != nil { - errMsg = fmt.Sprintf(": %s returned from %s", resp.Status, resp.Request.URL) + errMsg = fmt.Sprintf(": %s returned from %s", resp.Status, resp.Request.Host) } else if err != nil { errMsg = fmt.Sprintf(": %s", err) }