pub enum Error {
Transport(String),
Decode(String),
Invalid(String),
Api {
status: u16,
detail: String,
errors: Vec<ApiError>,
},
}Expand description
Everything that can go wrong talking to the HackerOne API.
Variants§
Transport(String)
The request never produced an HTTP response (DNS, TLS, timeout, …).
Decode(String)
The response body was not the JSON we expected.
Invalid(String)
The caller built an invalid request (bad input, serialization failure).
Api
The API returned a non-2xx status.
Implementations§
Source§impl Error
impl Error
Sourcepub fn api_errors(&self) -> &[ApiError]
pub fn api_errors(&self) -> &[ApiError]
The structured errors array, if present.
Sourcepub fn is_client_error(&self) -> bool
pub fn is_client_error(&self) -> bool
Whether this is an HTTP 4xx from the API (bad request, auth, validation).
Submission failures are the common case: 401 (bad token), 403
(not allowed / not in scope) and 422 (validation) all surface here as
Error::Api with the server’s errors array attached.
Sourcepub fn is_server_error(&self) -> bool
pub fn is_server_error(&self) -> bool
Whether this is an HTTP 5xx from the API.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
1.30.0 · 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()
Auto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl UnwindSafe for Error
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