tpl/data: Print response body on HTTP errors
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Mon, 7 Jun 2021 10:06:27 +0000 (12:06 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Mon, 7 Jun 2021 10:06:27 +0000 (12:06 +0200)
Which makes it easier to debug.

tpl/data/resources.go

index 68f18c48e09b6539e34f2fab4f7b8f2620a7c51d..b38b2784a49638b87de100203a2d880748d4b66b 100644 (file)
@@ -55,18 +55,17 @@ func (ns *Namespace) getRemote(cache *filecache.Cache, unmarshal func([]byte) (b
                                return nil, err
                        }
 
-                       if isHTTPError(res) {
-                               return nil, errors.Errorf("Failed to retrieve remote file: %s", http.StatusText(res.StatusCode))
-                       }
-
                        var b []byte
                        b, err = ioutil.ReadAll(res.Body)
-
                        if err != nil {
                                return nil, err
                        }
                        res.Body.Close()
 
+                       if isHTTPError(res) {
+                               return nil, errors.Errorf("Failed to retrieve remote file: %s, body: %q", http.StatusText(res.StatusCode), b)
+                       }
+
                        retry, err = unmarshal(b)
 
                        if err == nil {