api-client-go/errs/error.go
2018-04-23 14:55:56 +03:00

36 lines
767 B
Go

package errs
import (
"encoding/json"
"fmt"
)
// Error returns the string representation of the error and satisfies the error interface.
func (f *Failure) Error() string {
return f.RuntimeErr.Error()
}
// ApiError returns formatted string representation of the API error
func (f *Failure) ApiError() string {
return fmt.Sprintf("%v", f.ApiErr)
}
// ApiErrors returns array of formatted strings that represents API errors
func (f *Failure) ApiErrors() []string {
var errors []string
for k, i := range f.ApiErrs {
errors = append(errors, fmt.Sprintf("%v: %v", k, i))
}
return errors
}
// ErrorResponse method
func ErrorResponse(data []byte) (FailureResponse, error) {
var resp FailureResponse
err := json.Unmarshal(data, &resp)
return resp, err
}