diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2022-05-02 17:07:52 +0300 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2022-05-06 20:43:22 +0300 |
commit | f2946da9e806c2bafbdd26707fe339db79bd980b (patch) | |
tree | b5609317a861ea5f399e094e1b9287ca71dc22d1 /tpl/data | |
parent | 6eea32bd6bc8e7a7dd07a8cb6a8343ae2c74aba0 (diff) |
Improve error messages, esp. when the server is running
* Add file context to minifier errors when publishing
* Misc fixes (see issues)
* Allow custom server error template in layouts/server/error.html
To get to this, this commit also cleans up and simplifies the code surrounding errors and files. This also removes the usage of `github.com/pkg/errors`, mostly because of https://github.com/pkg/errors/issues/223 -- but also because most of this is now built-in to Go.
Fixes #9852
Fixes #9857
Fixes #9863
Diffstat (limited to 'tpl/data')
-rw-r--r-- | tpl/data/data.go | 8 | ||||
-rw-r--r-- | tpl/data/resources.go | 5 |
2 files changed, 6 insertions, 7 deletions
diff --git a/tpl/data/data.go b/tpl/data/data.go index 5e03d52c3..926f6773d 100644 --- a/tpl/data/data.go +++ b/tpl/data/data.go @@ -20,6 +20,7 @@ import ( "encoding/csv" "encoding/json" "errors" + "fmt" "net/http" "strings" @@ -35,7 +36,6 @@ import ( "github.com/gohugoio/hugo/cache/filecache" "github.com/gohugoio/hugo/deps" - _errors "github.com/pkg/errors" ) // New returns a new instance of the data-namespaced template functions. @@ -69,7 +69,7 @@ func (ns *Namespace) GetCSV(sep string, args ...any) (d [][]string, err error) { unmarshal := func(b []byte) (bool, error) { if d, err = parseCSV(b, sep); err != nil { - err = _errors.Wrapf(err, "failed to parse CSV file %s", url) + err = fmt.Errorf("failed to parse CSV file %s: %w", url, err) return true, err } @@ -80,7 +80,7 @@ func (ns *Namespace) GetCSV(sep string, args ...any) (d [][]string, err error) { var req *http.Request req, err = http.NewRequest("GET", url, nil) if err != nil { - return nil, _errors.Wrapf(err, "failed to create request for getCSV for resource %s", url) + return nil, fmt.Errorf("failed to create request for getCSV for resource %s: %w", url, err) } // Add custom user headers. @@ -109,7 +109,7 @@ func (ns *Namespace) GetJSON(args ...any) (any, error) { req, err := http.NewRequest("GET", url, nil) if err != nil { - return nil, _errors.Wrapf(err, "Failed to create request for getJSON resource %s", url) + return nil, fmt.Errorf("Failed to create request for getJSON resource %s: %w", url, err) } unmarshal := func(b []byte) (bool, error) { diff --git a/tpl/data/resources.go b/tpl/data/resources.go index dca25efb2..0470faf51 100644 --- a/tpl/data/resources.go +++ b/tpl/data/resources.go @@ -15,14 +15,13 @@ package data import ( "bytes" + "fmt" "io/ioutil" "net/http" "net/url" "path/filepath" "time" - "github.com/pkg/errors" - "github.com/gohugoio/hugo/cache/filecache" "github.com/gohugoio/hugo/config" @@ -70,7 +69,7 @@ func (ns *Namespace) getRemote(cache *filecache.Cache, unmarshal func([]byte) (b res.Body.Close() if isHTTPError(res) { - return nil, errors.Errorf("Failed to retrieve remote file: %s, body: %q", http.StatusText(res.StatusCode), b) + return nil, fmt.Errorf("Failed to retrieve remote file: %s, body: %q", http.StatusText(res.StatusCode), b) } retry, err = unmarshal(b) |