#[non_exhaustive]pub enum ApiError<E>{
Show 17 variants
Client {
source: E,
},
Auth {
source: AuthError,
},
UrlParse {
source: ParseError,
},
Body {
source: BodyError,
},
Json {
source: Error,
},
MovedPermanently {
location: Option<String>,
},
Gitlab {
msg: String,
},
GitlabService {
status: StatusCode,
data: Vec<u8>,
},
GitlabObject {
obj: Value,
},
GitlabUnrecognized {
obj: Value,
},
DataType {
source: Error,
typename: &'static str,
},
Pagination {
source: PaginationError,
},
UnsupportedUrlBase {
url_base: UrlBase,
},
GitlabWithStatus {
status: StatusCode,
msg: String,
},
GitlabObjectWithStatus {
status: StatusCode,
obj: Value,
},
GitlabUnrecognizedWithStatus {
status: StatusCode,
obj: Value,
},
GitlabRateLimited {
rl_limit: usize,
rl_name: String,
rl_observed: usize,
rl_remaining: usize,
rl_reset: DateTime<Utc>,
retry_after: Duration,
},
}
Expand description
Errors which may occur when using API endpoints.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Client
The client encountered an error.
Fields
source: E
The client error.
Auth
Authentication failed.
UrlParse
The URL failed to parse.
Fields
source: ParseError
The source of the error.
Body
Body data could not be created.
Json
JSON deserialization from GitLab failed.
MovedPermanently
The resource has been moved permanently.
Gitlab
GitlabWithStatus
insteadGitLab returned an error message.
Fields
GitlabService
GitLab returned an error without JSON information.
GitlabObject
GitlabObjectWithStatus
insteadGitLab returned an error object.
Fields
GitlabUnrecognized
GitlabUnrecognizedWithStatus
insteadGitLab returned an HTTP error with JSON we did not recognize.
Fields
DataType
Failed to parse an expected data type from JSON.
Fields
Pagination
An error with pagination occurred.
Fields
source: PaginationError
The source of the error.
UnsupportedUrlBase
The client does not understand how to use an endpoint for the given URL base.
GitlabWithStatus
GitLab returned an error message with an HTTP error.
GitlabObjectWithStatus
GitLab returned an error object with an HTTP error.
GitlabUnrecognizedWithStatus
GitLab returned an HTTP error with JSON we did not recognize.
GitlabRateLimited
GitLab returned an error message with an HTTP error.
Fields
Implementations§
Trait Implementations§
Source§impl<E> Error for ApiError<E>
impl<E> Error for ApiError<E>
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
Source§impl<E> From<PaginationError> for ApiError<E>
impl<E> From<PaginationError> for ApiError<E>
Source§fn from(source: PaginationError) -> Self
fn from(source: PaginationError) -> Self
Auto Trait Implementations§
impl<E> Freeze for ApiError<E>where
E: Freeze,
impl<E> !RefUnwindSafe for ApiError<E>
impl<E> Send for ApiError<E>
impl<E> Sync for ApiError<E>
impl<E> Unpin for ApiError<E>where
E: Unpin,
impl<E> !UnwindSafe for ApiError<E>
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
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 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.