pub enum ApiError {
Show 21 variants
PluginNotFound(String),
TemplateNotFound(String),
ScenarioNotFound(String),
InvalidVersion(String),
PluginExists(String),
TemplateExists(String),
ScenarioExists(String),
Conflict(String),
AuthRequired,
PermissionDenied,
InsufficientScope {
required: String,
scopes: Vec<String>,
},
OrganizationNotFound,
InvalidRequest(String),
ValidationFailed(String),
RateLimitExceeded(String),
UsageLimitExceeded {
limit_type: String,
current: i64,
max: i64,
period: String,
},
ResourceLimitExceeded(String),
PaymentRequired(String),
Database(Error),
Storage(String),
Internal(Error),
}Variants§
PluginNotFound(String)
TemplateNotFound(String)
ScenarioNotFound(String)
InvalidVersion(String)
PluginExists(String)
TemplateExists(String)
ScenarioExists(String)
Conflict(String)
Generic resource-state conflict — maps to 409 CONFLICT. Use this
when an action is rejected because the resource is already in the
requested terminal state (e.g. double-revoke) and the typed
*Exists variants don’t apply.
AuthRequired
PermissionDenied
InsufficientScope
OrganizationNotFound
InvalidRequest(String)
ValidationFailed(String)
RateLimitExceeded(String)
UsageLimitExceeded
Plan-quota exhaustion (#449). Distinct from RateLimitExceeded (which
is per-IP/global throttling) and ResourceLimitExceeded (which is
soft caps on entity counts). This carries the structured numbers the
client needs to render an upsell: which limit, how much used, what’s
the cap, and the rolling window key.
ResourceLimitExceeded(String)
PaymentRequired(String)
Subscription is past_due (#449 / criterion 8). Maps to 402 so clients can distinguish “your card failed, fix billing” from “you don’t have permission” (403) or “this resource doesn’t exist” (404).
Database(Error)
Storage(String)
Internal(Error)
Trait Implementations§
Source§impl Error for ApiError
impl Error for ApiError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<StoreError> for ApiError
impl From<StoreError> for ApiError
Source§fn from(e: StoreError) -> ApiError
fn from(e: StoreError) -> ApiError
Source§impl IntoResponse for ApiError
impl IntoResponse for ApiError
Source§fn into_response(self) -> Response<Body>
fn into_response(self) -> Response<Body>
Auto Trait Implementations§
impl Freeze for ApiError
impl !RefUnwindSafe for ApiError
impl Send for ApiError
impl Sync for ApiError
impl Unpin for ApiError
impl UnsafeUnpin for ApiError
impl !UnwindSafe for ApiError
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more