MCPcopy Create free account
hub / github.com/AbelChe/evil_minio / toAPIErrorCode

Function toAPIErrorCode

cmd/api-errors.go:2005–2293  ·  view source on GitHub ↗

toAPIErrorCode - Converts embedded errors. Convenience function written to handle all cases where we have known types of errors returned by underlying layers.

(ctx context.Context, err error)

Source from the content-addressed store, hash-verified

2003// function written to handle all cases where we have known types of
2004// errors returned by underlying layers.
2005func toAPIErrorCode(ctx context.Context, err error) (apiErr APIErrorCode) {
2006 if err == nil {
2007 return ErrNone
2008 }
2009
2010 // Only return ErrClientDisconnected if the provided context is actually canceled.
2011 // This way downstream context.Canceled will still report ErrOperationTimedOut
2012 if contextCanceled(ctx) && errors.Is(ctx.Err(), context.Canceled) {
2013 return ErrClientDisconnected
2014 }
2015
2016 switch err {
2017 case errInvalidArgument:
2018 apiErr = ErrAdminInvalidArgument
2019 case errNoSuchPolicy:
2020 apiErr = ErrAdminNoSuchPolicy
2021 case errNoSuchUser:
2022 apiErr = ErrAdminNoSuchUser
2023 case errNoSuchServiceAccount:
2024 apiErr = ErrAdminServiceAccountNotFound
2025 case errNoSuchGroup:
2026 apiErr = ErrAdminNoSuchGroup
2027 case errGroupNotEmpty:
2028 apiErr = ErrAdminGroupNotEmpty
2029 case errNoSuchJob:
2030 apiErr = ErrAdminNoSuchJob
2031 case errNoPolicyToAttachOrDetach:
2032 apiErr = ErrAdminPolicyChangeAlreadyApplied
2033 case errSignatureMismatch:
2034 apiErr = ErrSignatureDoesNotMatch
2035 case errInvalidRange:
2036 apiErr = ErrInvalidRange
2037 case errDataTooLarge:
2038 apiErr = ErrEntityTooLarge
2039 case errDataTooSmall:
2040 apiErr = ErrEntityTooSmall
2041 case errAuthentication:
2042 apiErr = ErrAccessDenied
2043 case auth.ErrInvalidAccessKeyLength:
2044 apiErr = ErrAdminInvalidAccessKey
2045 case auth.ErrInvalidSecretKeyLength:
2046 apiErr = ErrAdminInvalidSecretKey
2047 case errInvalidStorageClass:
2048 apiErr = ErrInvalidStorageClass
2049 case errErasureReadQuorum:
2050 apiErr = ErrSlowDown
2051 case errErasureWriteQuorum:
2052 apiErr = ErrSlowDown
2053 // SSE errors
2054 case errInvalidEncryptionParameters:
2055 apiErr = ErrInvalidEncryptionParameters
2056 case errInvalidEncryptionParametersSSEC:
2057 apiErr = ErrInvalidEncryptionParametersSSEC
2058 case crypto.ErrInvalidEncryptionMethod:
2059 apiErr = ErrInvalidEncryptionMethod
2060 case crypto.ErrInvalidEncryptionKeyID:
2061 apiErr = ErrInvalidEncryptionKeyID
2062 case crypto.ErrInvalidCustomerAlgorithm:

Callers 11

TestToAdminAPIErrCodeFunction · 0.85
checkClaimsFromTokenFunction · 0.85
isReqAuthenticatedFunction · 0.85
TestIsReqAuthenticatedFunction · 0.85
TestAPIErrCodeFunction · 0.85
toAPIErrorFunction · 0.85
writeSTSErrorResponseFunction · 0.85
NetperfHandlerMethod · 0.85
toAdminAPIErrCodeFunction · 0.85

Calls 5

LogIfFunction · 0.92
contextCanceledFunction · 0.85
IsMethod · 0.80
ErrMethod · 0.80
ErrorMethod · 0.65

Tested by 3

TestToAdminAPIErrCodeFunction · 0.68
TestIsReqAuthenticatedFunction · 0.68
TestAPIErrCodeFunction · 0.68