--- a/status.go Thu Apr 13 12:54:05 2017 +0200
+++ b/status.go Thu Apr 13 13:44:09 2017 +0200
@@ -48,16 +48,20 @@
return fmt.Errorf("status/%s API query: %s", subquery, err.Error())
}
+ // Check for error reply
+ var errorResult Error
+ if err := json.Unmarshal([]byte(r.Body), &errorResult); err == nil {
+ // The empty object is not an error
+ if errorResult.Text != "" {
+ return fmt.Errorf("%s", errorResult.Text)
+ }
+ }
+
+ // Not an error reply; let's unmarshal the data
err = json.Unmarshal([]byte(r.Body), &data)
if err != nil {
- var errorRes Error
- err2 := json.Unmarshal([]byte(r.Body), &errorRes)
- if err2 == nil {
- return fmt.Errorf("%s", errorRes.Text)
- }
return fmt.Errorf("status/%s API: %s", subquery, err.Error())
}
-
return nil
}
@@ -131,10 +135,13 @@
// Check for error reply
var errorResult Error
if err := json.Unmarshal([]byte(r.Body), &errorResult); err == nil {
- return fmt.Errorf("%s", errorResult.Text)
+ // The empty object is not an error
+ if errorResult.Text != "" {
+ return fmt.Errorf("%s", errorResult.Text)
+ }
}
- // Not an error reply; let's unmarshall the data
+ // Not an error reply; let's unmarshal the data
err = json.Unmarshal([]byte(r.Body), &data)
if err != nil {
return fmt.Errorf("status/%s API: %s", subquery, err.Error())