Merge pull request 'handle-error-codes' (#18) from handle-error-codes into master
Reviewed-on: #18 and is working on prod
This commit is contained in:
commit
2731a787e3
@ -27,6 +27,18 @@ var (
|
|||||||
logg = logging.NewVanilla().WithDomain("sarafu-api.devapi")
|
logg = logging.NewVanilla().WithDomain("sarafu-api.devapi")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type APIError struct {
|
||||||
|
Code string
|
||||||
|
Description string
|
||||||
|
}
|
||||||
|
|
||||||
|
func (e *APIError) Error() string {
|
||||||
|
if e.Code != "" {
|
||||||
|
return fmt.Sprintf("[%s] %s", e.Code, e.Description)
|
||||||
|
}
|
||||||
|
return e.Description
|
||||||
|
}
|
||||||
|
|
||||||
type HTTPAccountService struct {
|
type HTTPAccountService struct {
|
||||||
SS storage.StorageService
|
SS storage.StorageService
|
||||||
UseApi bool
|
UseApi bool
|
||||||
@ -762,7 +774,11 @@ func doRequest(ctx context.Context, req *http.Request, rcpt any) (*api.OKRespons
|
|||||||
if err := json.Unmarshal(body, &errResponse); err != nil {
|
if err := json.Unmarshal(body, &errResponse); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
return nil, errors.New(errResponse.Description)
|
|
||||||
|
return nil, &APIError{
|
||||||
|
Code: errResponse.ErrCode,
|
||||||
|
Description: errResponse.Description,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := json.Unmarshal(body, &okResponse); err != nil {
|
if err := json.Unmarshal(body, &okResponse); err != nil {
|
||||||
@ -770,7 +786,7 @@ func doRequest(ctx context.Context, req *http.Request, rcpt any) (*api.OKRespons
|
|||||||
}
|
}
|
||||||
|
|
||||||
if len(okResponse.Result) == 0 {
|
if len(okResponse.Result) == 0 {
|
||||||
return nil, errors.New("Empty api result")
|
return nil, errors.New("empty api result")
|
||||||
}
|
}
|
||||||
|
|
||||||
v, err := json.Marshal(okResponse.Result)
|
v, err := json.Marshal(okResponse.Result)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user