ronghua's picture
up
3c2af29
include!(concat!(env!("OUT_DIR"), "/aiserver.v1.rs"));
use error_details::Error;
impl ErrorDetails {
pub fn status_code(&self) -> u16 {
match Error::try_from(self.error) {
Ok(error) => match error {
Error::Unspecified => 500,
Error::BadApiKey
| Error::InvalidAuthId
| Error::AuthTokenNotFound
| Error::AuthTokenExpired
| Error::Unauthorized => 401,
Error::NotLoggedIn
| Error::NotHighEnoughPermissions
| Error::AgentRequiresLogin
| Error::ProUserOnly
| Error::TaskNoPermissions => 403,
Error::NotFound
| Error::UserNotFound
| Error::TaskUuidNotFound
| Error::AgentEngineNotFound
| Error::GitgraphNotFound
| Error::FileNotFound => 404,
Error::FreeUserRateLimitExceeded
| Error::ProUserRateLimitExceeded
| Error::OpenaiRateLimitExceeded
| Error::OpenaiAccountLimitExceeded
| Error::GenericRateLimitExceeded
| Error::Gpt4VisionPreviewRateLimit
| Error::ApiKeyRateLimit => 429,
Error::BadRequest
| Error::BadModelName
| Error::SlashEditFileTooLong
| Error::FileUnsupported
| Error::ClaudeImageTooLarge => 400,
Error::Deprecated
| Error::FreeUserUsageLimit
| Error::ProUserUsageLimit
| Error::ResourceExhausted
| Error::Openai
| Error::MaxTokens
| Error::ApiKeyNotSupported
| Error::UserAbortedRequest
| Error::CustomMessage
| Error::OutdatedClient
| Error::Debounced
| Error::RepositoryServiceRepositoryIsNotInitialized => 500,
},
Err(_) => 500,
}
}
// pub fn is_expected(&self) -> bool {
// self.is_expected.unwrap_or_default()
// }
}