aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/content/en/methods/resource/Err.md
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <[email protected]>2024-01-27 10:48:33 +0100
committerBjørn Erik Pedersen <[email protected]>2024-01-27 10:48:57 +0100
commit5fd1e7490305570872d3899f5edda950903c5213 (patch)
treef0cdc490a0942d720494c0044a64c6397d1ab6a5 /docs/content/en/methods/resource/Err.md
parentfc7de7136acbcf0aef54ae8460c7702bc83709be (diff)
parent9b0050e9aabe4be65c78ccf292a348f309d50ccd (diff)
downloadhugo-5fd1e7490305570872d3899f5edda950903c5213.tar.gz
hugo-5fd1e7490305570872d3899f5edda950903c5213.zip
Merge commit '9b0050e9aabe4be65c78ccf292a348f309d50ccd' as 'docs'
``` git subtree add --prefix=docs/ https://github.com/gohugoio/hugoDocs.git master --squash ``` Closes #11925
Diffstat (limited to 'docs/content/en/methods/resource/Err.md')
-rw-r--r--docs/content/en/methods/resource/Err.md56
1 files changed, 56 insertions, 0 deletions
diff --git a/docs/content/en/methods/resource/Err.md b/docs/content/en/methods/resource/Err.md
new file mode 100644
index 000000000..f4b410aa7
--- /dev/null
+++ b/docs/content/en/methods/resource/Err.md
@@ -0,0 +1,56 @@
+---
+title: Err
+description: Applicable to resources returned by the resources.GetRemote function, returns an error message if the HTTP request fails, else nil.
+categories: []
+keywords: []
+action:
+ related:
+ - functions/resources/GetRemote
+ - methods/resource/Data
+ returnType: resource.resourceError
+ signatures: [RESOURCE.Err]
+---
+
+The `Err` method on a resource returned by the [`resources.GetRemote`] function returns an error message if the HTTP request fails, else nil. If you do not handle the error yourself, Hugo will fail the build.
+
+[`resources.GetRemote`]: functions/resources/getremote
+
+In this example we send an HTTP request to a nonexistent domain:
+
+```go-html-template
+{{ $url := "https://broken-example.org/images/a.jpg" }}
+{{ with resources.GetRemote $url }}
+ {{ with .Err }}
+ {{ errorf "%s" . }}
+ {{ else }}
+ <img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
+ {{ end }}
+{{ else }}
+ {{ errorf "Unable to get remote resource %q" $url }}
+{{ end }}
+```
+
+The code above captures the error from the HTTP request, then fails the build:
+
+```text
+ERROR error calling resources.GetRemote: Get "https://broken-example.org/images/a.jpg": dial tcp: lookup broken-example.org on 127.0.0.53:53: no such host
+```
+
+To log an error as a warning instead of an error:
+
+```go-html-template
+{{ $url := "https://broken-example.org/images/a.jpg" }}
+{{ with resources.GetRemote $url }}
+ {{ with .Err }}
+ {{ warnf "%s" . }}
+ {{ else }}
+ <img src="{{ .RelPermalink }}" width="{{ .Width }}" height="{{ .Height }}" alt="">
+ {{ end }}
+{{ else }}
+ {{ errorf "Unable to get remote resource %q" $url }}
+{{ end }}
+```
+
+{{% note %}}
+An HTTP response with a 404 status code is not an HTTP request error. To handle 404 status codes, code defensively using the nested `with-else-end` construct as shown above.
+{{% /note %}}