Enum flawless_http::Error
source · pub enum Error {
Status(u16, Response),
Transport(Transport),
}
Expand description
A request error.
There are two types of errors that can happen when a request is performed:
- Status code errors
Every response with a status code >= 400 is considered an error. In this case, the error enum
will
contain the full Response
.
- Transport protocol errors
This kind of error happens in cases when there is a connection problem (e.g. connection refused) or a response can’t be parsed.
Variants§
Status(u16, Response)
A response was successfully received but had status code >= 400. Values are (status_code, Response).
Transport(Transport)
There was an error making the request or receiving the response.
Implementations§
source§impl Error
impl Error
sourcepub fn kind(&self) -> ErrorKind
pub fn kind(&self) -> ErrorKind
Error kind.
If the response status code is >=400, the error will be of kind ErrorKind::StatusCode
. All other
kinds describe a transport protocol error.
use flawless_http::{get, ErrorKind};
let response = get("http://httpbin.org/status/500").send();
assert_eq!(response.unwrap_err().kind(), ErrorKind::StatusCode);
sourcepub fn message(&self) -> Option<String>
pub fn message(&self) -> Option<String>
Contains an error message providing more information about the error, if available.
§Status code error message:
use flawless_http::get;
let response = get("http://httpbin.org/status/500").send();
assert_eq!(
response.unwrap_err().message(),
Some("Server returned status code 500".to_owned())
);
§Timeout error message:
use std::time::Duration;
use flawless_http::get;
let response = get("http://httpbin.org/delay/2")
.timeout(Duration::from_secs(1))
.send();
let err_msg = response.unwrap_err().message().unwrap();
assert!(err_msg.contains("timed out"));
Trait Implementations§
source§impl PartialEq for Error
impl PartialEq for Error
impl Eq for Error
impl StructuralPartialEq for Error
Auto Trait Implementations§
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin 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