#[non_exhaustive]pub enum ApiError<E>{
Show 14 variants
Client {
source: E,
},
Auth {
source: AuthError,
},
UrlParse {
source: ParseError,
},
Body {
source: BodyError,
},
Json {
source: Error,
},
MovedPermanently {
location: Option<String>,
},
GitlabService {
status: StatusCode,
data: Vec<u8>,
},
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: EThe client error.
Auth
Authentication failed.
UrlParse
The URL failed to parse.
Fields
source: ParseErrorThe source of the error.
Body
Body data could not be created.
Json
JSON deserialization from GitLab failed.
MovedPermanently
The resource has been moved permanently.
GitlabService
GitLab returned an error without JSON information.
DataType
Failed to parse an expected data type from JSON.
Fields
Pagination
An error with pagination occurred.
Fields
source: PaginationErrorThe 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> UnsafeUnpin for ApiError<E>where
E: UnsafeUnpin,
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.