From 5220d371ea49299e0b1a539fe3ead8d406d74a60 Mon Sep 17 00:00:00 2001 From: b10c <19157360+0xB10C@users.noreply.github.com> Date: Wed, 14 Aug 2024 13:24:58 +0200 Subject: [PATCH] resources: Add URI GetRemote error Previouly, only "ERROR failed to fetch remote resource: Forbidden" would be shown when a resource failed to load. In my case, a tweet's author I was embedding using the twitter shortcode switched his profile to private which resulted in my blog failing to build. To figure out where the originates, I added the log to the error message. --- hugolib/resource_chain_test.go | 4 ++-- resources/resource_factories/create/remote.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hugolib/resource_chain_test.go b/hugolib/resource_chain_test.go index 7683bb5fd..0b17a8db0 100644 --- a/hugolib/resource_chain_test.go +++ b/hugolib/resource_chain_test.go @@ -115,11 +115,11 @@ FIT REMOTE: /sunset_%[1]s.jpg|/sunset_%[1]s_hu15210517121918042184.jpg|200 REMOTE NOT FOUND: OK LOCAL NOT FOUND: OK PRINT PROTOCOL ERROR DETAILS: Err: error calling resources.GetRemote: Get "gopher://example.org": unsupported protocol scheme "gopher"|| -FAILED REMOTE ERROR DETAILS CONTENT: |failed to fetch remote resource: Not Implemented|Body: { msg: failed } +FAILED REMOTE ERROR DETAILS CONTENT: |failed to fetch remote resource from '%[2]s/fail.jpg': Not Implemented|Body: { msg: failed } |StatusCode: 501|ContentLength: 16|ContentType: text/plain; charset=utf-8| -`, hashing.HashString(ts.URL+"/sunset.jpg", map[string]any{}))) +`, hashing.HashString(ts.URL+"/sunset.jpg", map[string]any{}), ts.URL)) b.AssertFileContent("public/styles.min.a1df58687c3c9cc38bf26532f7b4b2f2c2b0315dcde212376959995c04f11fef.css", "body{background-color:#add8e6}") b.AssertFileContent("public//styles2.min.1cfc52986836405d37f9998a63fd6dd8608e8c410e5e3db1daaa30f78bc273ba.css", "body{background-color:orange}") diff --git a/resources/resource_factories/create/remote.go b/resources/resource_factories/create/remote.go index 606110d57..3bfb5f3cc 100644 --- a/resources/resource_factories/create/remote.go +++ b/resources/resource_factories/create/remote.go @@ -213,7 +213,7 @@ func (c *Client) FromRemote(uri string, optionsm map[string]any) (resource.Resou } if res.StatusCode < 200 || res.StatusCode > 299 { - return nil, toHTTPError(fmt.Errorf("failed to fetch remote resource: %s", http.StatusText(res.StatusCode)), res, !isHeadMethod) + return nil, toHTTPError(fmt.Errorf("failed to fetch remote resource from '%s': %s", uri, http.StatusText(res.StatusCode)), res, !isHeadMethod) } var (