diff --git a/src/common/error/src/status_code.rs b/src/common/error/src/status_code.rs index 2798dd595b..c43f908048 100644 --- a/src/common/error/src/status_code.rs +++ b/src/common/error/src/status_code.rs @@ -66,6 +66,9 @@ pub enum StatusCode { // ====== Begin of server related status code ===== /// Runtime resources exhausted, like creating threads failed. RuntimeResourcesExhausted = 6000, + + /// Rate limit exceeded + RateLimited = 6001, // ====== End of server related status code ======= // ====== Begin of auth related status code ===== @@ -111,6 +114,7 @@ impl StatusCode { | StatusCode::TableColumnNotFound | StatusCode::TableColumnExists | StatusCode::DatabaseNotFound + | StatusCode::RateLimited | StatusCode::UserNotFound | StatusCode::UnsupportedPasswordType | StatusCode::UserPasswordMismatch @@ -141,6 +145,7 @@ impl StatusCode { | StatusCode::TableColumnNotFound | StatusCode::TableColumnExists | StatusCode::DatabaseNotFound + | StatusCode::RateLimited | StatusCode::UserNotFound | StatusCode::UnsupportedPasswordType | StatusCode::UserPasswordMismatch diff --git a/src/servers/src/error.rs b/src/servers/src/error.rs index 84bead69a6..4f8c741f7d 100644 --- a/src/servers/src/error.rs +++ b/src/servers/src/error.rs @@ -432,7 +432,7 @@ fn status_to_tonic_code(status_code: StatusCode) -> Code { | StatusCode::DatabaseNotFound | StatusCode::UserNotFound => Code::NotFound, StatusCode::StorageUnavailable => Code::Unavailable, - StatusCode::RuntimeResourcesExhausted => Code::ResourceExhausted, + StatusCode::RuntimeResourcesExhausted | StatusCode::RateLimited => Code::ResourceExhausted, StatusCode::UnsupportedPasswordType | StatusCode::UserPasswordMismatch | StatusCode::AuthHeaderNotFound