github.com/Venafi/vcert/v5@v5.10.2/pkg/venafi/firefly/devAuthStatus.go (about) 1 package firefly 2 3 import ( 4 "errors" 5 "strings" 6 ) 7 8 type DevAuthStatus int 9 10 const ( 11 Unknown DevAuthStatus = iota 12 AuthorizationPending 13 SlowDown 14 AccessDenied 15 ExpiredToken 16 17 strUnknown = "unknown" 18 strAuthPending = "authorization_pending" 19 strSlowDown = "slow_down" 20 strAccessDenied = "access_denied" 21 strExpiredToken = "expired_token" 22 ) 23 24 func (das DevAuthStatus) String() string { 25 switch das { 26 case AuthorizationPending: 27 return strAuthPending 28 case SlowDown: 29 return strSlowDown 30 case AccessDenied: 31 return strAccessDenied 32 case ExpiredToken: 33 return strExpiredToken 34 default: 35 return strUnknown 36 } 37 } 38 39 func GetDevAuthStatusFromError(err error) DevAuthStatus { 40 var respError *responseError 41 if errors.As(err, &respError) { 42 return GetDevAuthStatus(respError.ErrorKey) 43 } 44 return Unknown 45 } 46 47 func GetDevAuthStatus(devAuthStatus string) DevAuthStatus { 48 switch strings.ToLower(devAuthStatus) { 49 case strAuthPending: 50 return AuthorizationPending 51 case strSlowDown: 52 return SlowDown 53 case strAccessDenied: 54 return AccessDenied 55 case strExpiredToken: 56 return ExpiredToken 57 default: 58 return Unknown 59 } 60 }