pub struct ClientError { /* private fields */ }Expand description
Client error type for all XRPC client operations
Implementations§
Source§impl ClientError
impl ClientError
Sourcepub fn new(kind: ClientErrorKind, source: Option<BoxError>) -> Self
pub fn new(kind: ClientErrorKind, source: Option<BoxError>) -> Self
Create a new error with the given kind and optional source
Sourcepub fn kind(&self) -> &ClientErrorKind
pub fn kind(&self) -> &ClientErrorKind
Get the error kind
Sourcepub fn source_err(&self) -> Option<&BoxError>
pub fn source_err(&self) -> Option<&BoxError>
Get the source error if present
Sourcepub fn status(&self) -> Option<StatusCode>
pub fn status(&self) -> Option<StatusCode>
Returns the HTTP status code if this is an Http error kind.
Sourcepub fn is_auth(&self) -> bool
pub fn is_auth(&self) -> bool
Returns true if this is an authentication error (typed Auth kind or HTTP 401).
Sourcepub fn is_not_found(&self) -> bool
pub fn is_not_found(&self) -> bool
Returns true if this is an HTTP 404 response.
Sourcepub fn is_conflict(&self) -> bool
pub fn is_conflict(&self) -> bool
Returns true if this is an HTTP 409 conflict response.
Sourcepub fn with_context(self, context: impl Into<SmolStr>) -> Self
pub fn with_context(self, context: impl Into<SmolStr>) -> Self
Add context to this error
Sourcepub fn with_details(self, details: impl Into<SmolStr>) -> Self
pub fn with_details(self, details: impl Into<SmolStr>) -> Self
Add details to this error
Sourcepub fn with_location(self, location: impl Into<SmolStr>) -> Self
pub fn with_location(self, location: impl Into<SmolStr>) -> Self
Add location to this error
Sourcepub fn append_context(self, additional: impl AsRef<str>) -> Self
pub fn append_context(self, additional: impl AsRef<str>) -> Self
Append additional context to existing context string.
If context already exists, appends with “: “ separator. If no context exists, sets it directly.
Sourcepub fn for_nsid(self, nsid: &str) -> Self
pub fn for_nsid(self, nsid: &str) -> Self
Add NSID context for XRPC operations.
Appends the NSID in brackets to existing context, e.g. "network timeout: [com.atproto.repo.getRecord]".
Sourcepub fn for_collection(self, operation: &str, collection_nsid: &str) -> Self
pub fn for_collection(self, operation: &str, collection_nsid: &str) -> Self
Add collection context for record operations.
Use this when a record operation fails to indicate the target collection.
Sourcepub fn invalid_request(msg: impl Into<SmolStr>) -> Self
pub fn invalid_request(msg: impl Into<SmolStr>) -> Self
Create an invalid request error
Sourcepub fn http(status: StatusCode, body: Option<Bytes>) -> Self
pub fn http(status: StatusCode, body: Option<Bytes>) -> Self
Create an HTTP error with status code and optional body
Sourcepub fn identity_resolution(source: impl Error + Send + Sync + 'static) -> Self
pub fn identity_resolution(source: impl Error + Send + Sync + 'static) -> Self
Create an identity resolution error
Trait Implementations§
Source§impl Debug for ClientError
impl Debug for ClientError
Source§impl Diagnostic for ClientError
impl Diagnostic for ClientError
Source§fn help(&self) -> Option<Box<dyn Display + '_>>
fn help(&self) -> Option<Box<dyn Display + '_>>
Diagnostic. Do you have any
advice for the poor soul who’s just run into this issue?Source§fn diagnostic_source<'a>(&'a self) -> Option<&'a dyn Diagnostic>
fn diagnostic_source<'a>(&'a self) -> Option<&'a dyn Diagnostic>
Source§fn code<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn code<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
Diagnostic. Ideally also globally unique, and documented
in the toplevel crate’s documentation for easy searching. Rust path
format (foo::bar::baz) is recommended, but more classic codes like
E0123 or enums will work just fine.Source§fn severity(&self) -> Option<Severity>
fn severity(&self) -> Option<Severity>
ReportHandlers to change the display format
of this diagnostic. Read moreSource§fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
fn url<'a>(&'a self) -> Option<Box<dyn Display + 'a>>
Diagnostic.Source§fn source_code(&self) -> Option<&dyn SourceCode>
fn source_code(&self) -> Option<&dyn SourceCode>
Diagnostic’s Diagnostic::labels to.Source§fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
fn labels(&self) -> Option<Box<dyn Iterator<Item = LabeledSpan> + '_>>
Diagnostic’s Diagnostic::source_codeDiagnostics.Source§impl Display for ClientError
impl Display for ClientError
Source§impl Error for ClientError
impl Error for ClientError
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<AuthError> for ClientError
impl From<AuthError> for ClientError
Source§impl From<DecodeError<Error>> for ClientError
Available on crate feature std only.
impl From<DecodeError<Error>> for ClientError
std only.Source§fn from(e: DecodeError<Error>) -> Self
fn from(e: DecodeError<Error>) -> Self
Source§impl From<DecodeError<HttpError>> for ClientError
impl From<DecodeError<HttpError>> for ClientError
Source§fn from(e: DecodeError<HttpError>) -> Self
fn from(e: DecodeError<HttpError>) -> Self
Source§impl From<DecodeError<Infallible>> for ClientError
impl From<DecodeError<Infallible>> for ClientError
Source§fn from(e: DecodeError<Infallible>) -> Self
fn from(e: DecodeError<Infallible>) -> Self
Source§impl From<DecodeError> for ClientError
impl From<DecodeError> for ClientError
Source§fn from(e: DecodeError) -> Self
fn from(e: DecodeError) -> Self
Source§impl From<EncodeError> for ClientError
impl From<EncodeError> for ClientError
Source§fn from(e: EncodeError) -> Self
fn from(e: EncodeError) -> Self
Source§impl From<Error> for ClientError
Available on crate feature reqwest-client only.
impl From<Error> for ClientError
reqwest-client only.