Fix error handling caused panic (again)

This commit is contained in:
bytedream 2022-06-19 13:38:41 +02:00
parent 475dc34f7a
commit 0c93893627

View file

@ -329,13 +329,15 @@ func request(req *http.Request, client *http.Client) (*http.Response, error) {
} }
} }
} else if _, ok := errMap["code"]; ok { } else if _, ok := errMap["code"]; ok {
if errContext, ok := errMap["context"]; ok { if errContext, ok := errMap["context"].([]any); ok && len(errContext) > 0 {
errField := errContext.([]any)[0].(map[string]any) errField := errContext[0].(map[string]any)
var code string var code string
if code, ok = errField["message"].(string); !ok { if code, ok = errField["message"].(string); !ok {
code = errField["code"].(string) code = errField["code"].(string)
} }
return nil, &RequestError{Response: resp, Message: fmt.Sprintf("%s - %s", code, errField["field"].(string))} return nil, &RequestError{Response: resp, Message: fmt.Sprintf("%s - %s", code, errField["field"].(string))}
} else if errMessage, ok := errMap["message"].(string); ok {
return nil, &RequestError{Response: resp, Message: errMessage}
} }
} }
} }