Change Format of API Error (#784)

This is a wire breaking change for json errors since we have removed and renamed a few fields, and changed part of the structure of the returned json error.

* Remove redundant fields in Status, details.error_id, details.TraceId and details.request_id from API errors.

* Added wrapped errors and "ops" field to indicate the internal operation of the errors returned by the API.

* Added error cli error reporting of Op and wrapped errors.
This commit is contained in:
Todd Knight authored and GitHub committed 2020-12-07 14:25:16 -07:00
1 parent 18ea39b237
commit aa4157639c
48 files changed
+742 -728

No files matched your search

+9 -6
View File
@@ -4,19 +4,22 @@ package api
import "bytes"
type Error struct {
Status int32 `json:"status,omitempty"`
Code string `json:"code,omitempty"`
Kind string `json:"kind,omitempty"`
Op string `json:"op,omitempty"`
Message string `json:"message,omitempty"`
Details *ErrorDetails `json:"details,omitempty"`
responseBody *bytes.Buffer
responseMap map[string]interface{}
response *Response
}
func (n Error) ResponseBody() *bytes.Buffer {
return n.responseBody
return n.response.Body
}
func (n Error) ResponseMap() map[string]interface{} {
return n.responseMap
return n.response.Map
}
func (n Error) ResponseStatus() int {
return n.response.HttpResponse().StatusCode
}