Refactor Redirect API (#741)
Changed the redirect types to be from the `redirect` module: - `reqwest::RedirectPolicy` is now `reqwest::redirect::Policy` - `reqwest::RedirectAttempt` is now `reqwest::redirect::Attempt` - `reqwest::RedirectAction` is now `reqwest::redirect::Action` Changed behavior of default policy to no longer check for redirect loops (loops should still be caught eventually by the maximum limit). Removed the `too_many_redirects` and `loop_detected` methods from `Action`. Added `error` to `Action` that can be passed any error type. Closes #717
This commit is contained in:
20
src/lib.rs
20
src/lib.rs
@@ -119,9 +119,9 @@
|
||||
//!
|
||||
//! ## Redirect Policies
|
||||
//!
|
||||
//! By default, a `Client` will automatically handle HTTP redirects, detecting
|
||||
//! loops, and having a maximum redirect chain of 10 hops. To customize this
|
||||
//! behavior, a [`RedirectPolicy`][redirect] can used with a `ClientBuilder`.
|
||||
//! By default, a `Client` will automatically handle HTTP redirects, having a
|
||||
//! maximum redirect chain of 10 hops. To customize this behavior, a
|
||||
//! [`redirect::Policy`][redirect] can be used with a `ClientBuilder`.
|
||||
//!
|
||||
//! ## Cookies
|
||||
//!
|
||||
@@ -175,7 +175,7 @@
|
||||
//! [get]: ./fn.get.html
|
||||
//! [builder]: ./struct.RequestBuilder.html
|
||||
//! [serde]: http://serde.rs
|
||||
//! [redirect]: ./struct.RedirectPolicy.html
|
||||
//! [redirect]: crate::redirect
|
||||
//! [Proxy]: ./struct.Proxy.html
|
||||
//! [cargo-features]: https://doc.rust-lang.org/stable/cargo/reference/manifest.html#the-features-section
|
||||
|
||||
@@ -237,7 +237,6 @@ pub use self::into_url::IntoUrl;
|
||||
/// - native TLS backend cannot be initialized
|
||||
/// - supplied `Url` cannot be parsed
|
||||
/// - there was an error while sending request
|
||||
/// - redirect loop was detected
|
||||
/// - redirect limit was exhausted
|
||||
pub async fn get<T: IntoUrl>(url: T) -> crate::Result<Response> {
|
||||
Client::builder().build()?.get(url).send().await
|
||||
@@ -279,7 +278,6 @@ if_hyper! {
|
||||
multipart, Body, Client, ClientBuilder, Request, RequestBuilder, Response, ResponseBuilderExt,
|
||||
};
|
||||
pub use self::proxy::Proxy;
|
||||
pub use self::redirect::{RedirectAction, RedirectAttempt, RedirectPolicy};
|
||||
#[cfg(feature = "tls")]
|
||||
pub use self::tls::{Certificate, Identity};
|
||||
|
||||
@@ -293,17 +291,9 @@ if_hyper! {
|
||||
//#[cfg(feature = "trust-dns")]
|
||||
//mod dns;
|
||||
mod proxy;
|
||||
mod redirect;
|
||||
pub mod redirect;
|
||||
#[cfg(feature = "tls")]
|
||||
mod tls;
|
||||
|
||||
#[doc(hidden)]
|
||||
#[deprecated(note = "types moved to top of crate")]
|
||||
pub mod r#async {
|
||||
pub use crate::async_impl::{
|
||||
multipart, Body, Client, ClientBuilder, Request, RequestBuilder, Response,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
if_wasm! {
|
||||
|
||||
Reference in New Issue
Block a user