fix: #66 non generic api error handling #67
1 changed files with 11 additions and 1 deletions
|
|
@ -85,7 +85,17 @@ func CreateInstanceWaitHandler(
|
||||||
func() (waitFinished bool, response *sqlserverflex.GetInstanceResponse, err error) {
|
func() (waitFinished bool, response *sqlserverflex.GetInstanceResponse, err error) {
|
||||||
s, err := a.GetInstanceRequestExecute(ctx, projectId, region, instanceId)
|
s, err := a.GetInstanceRequestExecute(ctx, projectId, region, instanceId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return false, nil, err
|
var oapiErr *oapierror.GenericOpenAPIError
|
||||||
|
ok := errors.As(err, &oapiErr)
|
||||||
|
if !ok {
|
||||||
|
return false, nil, fmt.Errorf("could not convert error to oapierror.GenericOpenAPIError: %w", err)
|
||||||
|
}
|
||||||
|
switch oapiErr.StatusCode {
|
||||||
|
case http.StatusNotFound:
|
||||||
|
return false, nil, nil
|
||||||
|
default:
|
||||||
|
return false, nil, fmt.Errorf("api error: %w", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if s == nil || s.Id == nil || *s.Id != instanceId || s.Status == nil {
|
if s == nil || s.Id == nil || *s.Id != instanceId || s.Status == nil {
|
||||||
return false, nil, nil
|
return false, nil, nil
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue