Document error handling.
This commit is contained in:
17
src/error.rs
17
src/error.rs
@@ -42,6 +42,23 @@ use crate::Response;
|
||||
/// ureq::get(url).call()
|
||||
/// }
|
||||
/// ```
|
||||
///
|
||||
/// If you'd like to treat all status code errors as normal, successful responses,
|
||||
/// you can use [Result::or_else](std::result::Result::or_else) like this:
|
||||
///
|
||||
/// ```
|
||||
/// use ureq::Error::Status;
|
||||
/// # fn main() -> std::result::Result<(), ureq::Error> {
|
||||
/// # ureq::is_test(true);
|
||||
/// let resp = ureq::get("http://example.com/")
|
||||
/// .call()
|
||||
/// .or_else(|e| match e {
|
||||
/// Status(_, r) => Ok(r), // turn status errors into Ok Responses.
|
||||
/// _ => Err(e),
|
||||
/// })?;
|
||||
/// # Ok(())
|
||||
/// # }
|
||||
/// ```
|
||||
#[derive(Debug)]
|
||||
pub enum Error {
|
||||
/// A response was successfully received but had status code >= 400.
|
||||
|
||||
@@ -82,6 +82,12 @@
|
||||
//! # fn main() {}
|
||||
//! ```
|
||||
//!
|
||||
//! ## Error handling
|
||||
//!
|
||||
//! ureq returns errors via `Result<T, ureq::Error>`. That includes I/O errors,
|
||||
//! protocol errors, and status code errors (when the server responded 4xx or
|
||||
//! 5xx). More details on the [Error] type.
|
||||
//!
|
||||
//! ## Features
|
||||
//!
|
||||
//! To enable a minimal dependency tree, some features are off by default.
|
||||
|
||||
Reference in New Issue
Block a user