#[non_exhaustive]pub enum ForgeError {
Show 17 variants
Config {
context: String,
source: Option<Box<dyn Error + Sync + Send>>,
},
Database(Error),
JobCancelled(String),
Serialization(String),
Deserialization(String),
Io(Error),
InvalidArgument(String),
NotFound(String),
Unauthorized(String),
Forbidden(String),
Validation(String),
Timeout(String),
Internal {
context: String,
source: Option<Box<dyn Error + Sync + Send>>,
},
InvalidState(String),
RateLimitExceeded {
retry_after: Duration,
limit: u32,
remaining: u32,
},
ServiceUnavailable(String),
WorkflowSuspended(SuspendReason),
}Expand description
Core error type mapping variants to HTTP status codes.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Config
Database(Error)
JobCancelled(String)
Serialization(String)
Deserialization(String)
Io(Error)
InvalidArgument(String)
NotFound(String)
Forbidden(String)
Validation(String)
Timeout(String)
Internal
InvalidState(String)
RateLimitExceeded
Service unavailable (503).
WorkflowSuspended(SuspendReason)
Internal control signal raised when a workflow handler suspends
(ctx.sleep(...) / ctx.wait_for_event(...)). The executor handles
it before any HTTP mapping layer; it is never returned to a client.
Implementations§
Source§impl ForgeError
impl ForgeError
pub fn not_found(msg: impl Into<String>) -> ForgeError
pub fn config(msg: impl Into<String>) -> ForgeError
pub fn forbidden(msg: impl Into<String>) -> ForgeError
pub fn validation(msg: impl Into<String>) -> ForgeError
pub fn timeout(msg: impl Into<String>) -> ForgeError
pub fn internal(msg: impl Into<String>) -> ForgeError
pub fn internal_with( msg: impl Into<String>, source: impl Error + Send + Sync + 'static, ) -> ForgeError
pub fn config_with( msg: impl Into<String>, source: impl Error + Send + Sync + 'static, ) -> ForgeError
Sourcepub fn http_status(&self) -> u16
pub fn http_status(&self) -> u16
Canonical variant-to-HTTP-status mapping.
pub fn is_client_error(&self) -> bool
pub fn is_server_error(&self) -> bool
pub fn is_retryable(&self) -> bool
Trait Implementations§
Source§impl Debug for ForgeError
impl Debug for ForgeError
Source§impl Display for ForgeError
impl Display for ForgeError
Source§impl Error for ForgeError
impl Error for ForgeError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl From<CircuitBreakerError> for ForgeError
impl From<CircuitBreakerError> for ForgeError
Source§fn from(e: CircuitBreakerError) -> ForgeError
fn from(e: CircuitBreakerError) -> ForgeError
Converts to this type from the input type.
Source§impl From<Error> for ForgeError
impl From<Error> for ForgeError
Source§fn from(source: Error) -> ForgeError
fn from(source: Error) -> ForgeError
Converts to this type from the input type.
Source§impl From<Error> for ForgeError
impl From<Error> for ForgeError
Source§fn from(source: Error) -> ForgeError
fn from(source: Error) -> ForgeError
Converts to this type from the input type.
Source§impl From<Error> for ForgeError
impl From<Error> for ForgeError
Source§fn from(e: Error) -> ForgeError
fn from(e: Error) -> ForgeError
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for ForgeError
impl !RefUnwindSafe for ForgeError
impl Send for ForgeError
impl Sync for ForgeError
impl Unpin for ForgeError
impl UnsafeUnpin for ForgeError
impl !UnwindSafe for ForgeError
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
Converts
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>
Converts
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 moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.