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) {
|
||||
s, err := a.GetInstanceRequestExecute(ctx, projectId, region, instanceId)
|
||||
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 {
|
||||
return false, nil, nil
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue