Throw special http status code
var KindToStatusCodeHook = func(k Kind) int {
return http.StatusInternalServerError
}
func (k Kind) ToStatusCode() int {
switch k {
case KindCanceled, KindDeadlineExceeded:
return http.StatusRequestTimeout
case KindUnknown:
return http.StatusInternalServerError
case KindInvalidArgument:
return http.StatusBadRequest
case KindNotFound:
return http.StatusNotFound
case KindAlreadyExists, KindAborted:
return http.StatusConflict
case KindPermissionDenied:
return http.StatusForbidden
case KindUnauthenticated:
return http.StatusUnauthorized
case KindResourceExhausted:
return http.StatusForbidden
case KindFailedPrecondition:
return http.StatusPreconditionFailed
case KindOutOfRange:
return http.StatusBadRequest
case KindUnimplemented:
return http.StatusNotImplemented
case KindInternal, KindDataLoss, KindNone:
return http.StatusInternalServerError
case KindUnavailable:
return http.StatusServiceUnavailable
}
return KindToStatusCodeHook(k)
}Last updated