account.go
changeset 162 68df3a01e1a7
parent 161 6786f169b59f
child 183 cd5aa242c01f
--- a/account.go	Sun Apr 30 22:22:12 2017 +0200
+++ b/account.go	Sun Apr 30 22:58:12 2017 +0200
@@ -17,6 +17,7 @@
 	"strconv"
 	"strings"
 
+	"github.com/pkg/errors"
 	"github.com/sendgrid/rest"
 )
 
@@ -390,7 +391,7 @@
 	// Prepare the request
 	req, err := mc.prepareRequest(endPoint, rest.Patch, params)
 	if err != nil {
-		return nil, fmt.Errorf("prepareRequest failed: %s", err.Error())
+		return nil, errors.Wrap(err, "prepareRequest failed")
 	}
 	req.Headers["Content-Type"] = w.FormDataContentType()
 	req.Body = formBuf.Bytes()
@@ -398,7 +399,7 @@
 	// Make API call
 	r, err := restAPI(req)
 	if err != nil {
-		return nil, fmt.Errorf("account update failed: %s", err.Error())
+		return nil, errors.Wrap(err, "account update failed")
 	}
 
 	// Check for error reply
@@ -406,14 +407,14 @@
 	if err := json.Unmarshal([]byte(r.Body), &errorResult); err == nil {
 		// The empty object is not an error
 		if errorResult.Text != "" {
-			return nil, fmt.Errorf("%s", errorResult.Text)
+			return nil, errors.New(errorResult.Text)
 		}
 	}
 
 	// Not an error reply; let's unmarshal the data
 	var account Account
 	if err := json.Unmarshal([]byte(r.Body), &account); err != nil {
-		return nil, fmt.Errorf("cannot decode API response: %s", err.Error())
+		return nil, errors.Wrap(err, "cannot decode API response")
 	}
 	return &account, nil
 }