github.com/dcarley/cf-cli@v6.24.1-0.20170220111324-4225ff346898+incompatible/command/v2/shared/handle_error.go (about) 1 package shared 2 3 import ( 4 "code.cloudfoundry.org/cli/actor/sharedaction" 5 "code.cloudfoundry.org/cli/actor/v2action" 6 "code.cloudfoundry.org/cli/api/cloudcontroller" 7 "code.cloudfoundry.org/cli/api/cloudcontroller/ccv2" 8 "code.cloudfoundry.org/cli/api/uaa" 9 "code.cloudfoundry.org/cli/command" 10 ) 11 12 func HandleError(err error) error { 13 switch e := err.(type) { 14 case cloudcontroller.APINotFoundError: 15 return command.APINotFoundError{URL: e.URL} 16 case cloudcontroller.RequestError: 17 return command.APIRequestError{Err: e.Err} 18 case cloudcontroller.SSLValidationHostnameError: 19 return command.SSLCertErrorError{Message: e.Message} 20 case cloudcontroller.UnverifiedServerError: 21 return command.InvalidSSLCertError{API: e.URL} 22 23 case ccv2.JobFailedError: 24 return JobFailedError{JobGUID: e.JobGUID} 25 case ccv2.JobTimeoutError: 26 return JobTimeoutError{JobGUID: e.JobGUID} 27 28 case uaa.InvalidAuthTokenError: 29 return InvalidRefreshTokenError{} 30 31 case sharedaction.NotLoggedInError: 32 return command.NotLoggedInError{BinaryName: e.BinaryName} 33 case sharedaction.NoTargetedOrganizationError: 34 return command.NoTargetedOrganizationError{BinaryName: e.BinaryName} 35 case sharedaction.NoTargetedSpaceError: 36 return command.NoTargetedSpaceError{BinaryName: e.BinaryName} 37 38 case v2action.ApplicationNotFoundError: 39 return command.ApplicationNotFoundError{Name: e.Name} 40 case v2action.OrganizationNotFoundError: 41 return OrganizationNotFoundError{Name: e.Name} 42 case v2action.ServiceInstanceNotFoundError: 43 return command.ServiceInstanceNotFoundError{Name: e.Name} 44 case v2action.SpaceNotFoundError: 45 return SpaceNotFoundError{Name: e.Name} 46 case v2action.HTTPHealthCheckInvalidError: 47 return HTTPHealthCheckInvalidError{} 48 } 49 50 return err 51 }