#[non_exhaustive]pub enum TwirpErrorCode {
Show 18 variants
Canceled,
Unknown,
InvalidArgument,
Malformed,
DeadlineExceeded,
NotFound,
BadRoute,
AlreadyExists,
PermissionDenied,
Unauthenticated,
ResourceExhausted,
FailedPrecondition,
Aborted,
OutOfRange,
Unimplemented,
Internal,
Unavailable,
Dataloss,
}
Expand description
A Twirp error code as defined by https://twitchtv.github.io/twirp/docs/spec_v7.html.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Canceled
The operation was cancelled.
Unknown
An unknown error occurred. For example, this can be used when handling errors raised by APIs that do not return any error information.
InvalidArgument
The client specified an invalid argument. This indicates arguments that are invalid regardless of the state of the system (i.e. a malformed file name, required argument, number out of range, etc.).
Malformed
The client sent a message which could not be decoded. This may mean that the message was encoded improperly or that the client and server have incompatible message definitions.
DeadlineExceeded
Operation expired before completion. For operations that change the state of the system, this error may be returned even if the operation has completed successfully (timeout).
NotFound
Some requested entity was not found.
BadRoute
The requested URL path wasn’t routable to a Twirp service and method. This is returned by generated server code and should not be returned by application code (use “not_found” or “unimplemented” instead).
AlreadyExists
An attempt to create an entity failed because one already exists.
PermissionDenied
Unauthenticated
ResourceExhausted
Some resource has been exhausted or rate-limited, perhaps a per-user quota, or perhaps the entire file system is out of space.
FailedPrecondition
The operation was rejected because the system is not in a state required for the operation’s execution. For example, doing an rmdir operation on a directory that is non-empty, or on a non-directory object, or when having conflicting read-modify-write on the same resource.
Aborted
The operation was aborted, typically due to a concurrency issue like sequencer check failures, transaction aborts, etc.
OutOfRange
The operation was attempted past the valid range. For example, seeking or reading past end of a paginated collection. Unlike “invalid_argument”, this error indicates a problem that may be fixed if the system state changes (i.e. adding more items to the collection). There is a fair bit of overlap between “failed_precondition” and “out_of_range”. We recommend using “out_of_range” (the more specific error) when it applies so that callers who are iterating through a space can easily look for an “out_of_range” error to detect when they are done.
Unimplemented
The operation is not implemented or not supported/enabled in this service.
Internal
When some invariants expected by the underlying system have been broken. In other words, something bad happened in the library or backend service. Twirp specific issues like wire and serialization problems are also reported as “internal” errors.
The service is currently unavailable. This is most likely a transient condition and may be corrected by retrying with a backoff.
Dataloss
The operation resulted in unrecoverable data loss or corruption.
Implementations§
Source§impl TwirpErrorCode
impl TwirpErrorCode
pub fn http_status_code(&self) -> StatusCode
pub fn twirp_code(&self) -> &'static str
Trait Implementations§
Source§impl Clone for TwirpErrorCode
impl Clone for TwirpErrorCode
Source§fn clone(&self) -> TwirpErrorCode
fn clone(&self) -> TwirpErrorCode
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more