A middleware wrapper that enables (or disables) a wrapped Reqwest middleware on a per-request basis
Usage of this crate depends on a few crates:
toml
async-trait = "0.1.51"
reqwest = version = "0.11"
reqwest-conditional-middleware = "0.2.0"
reqwest-middleware = "0.2.1"
task-local-extensions = "0.1.4"
This is an example of a conditional middleware that short-circuits a middleware stack and
returns OK
whenever the request method is GET
```rust use reqwest::{Request, Response}; use reqwestconditionalmiddleware::ConditionalMiddleware; use reqwestmiddleware::{Middleware, Next, Result}; use tasklocal_extensions::Extensions;
struct AlwaysOk;
impl Middleware for AlwaysOk {
async fn handle(
&self,
req: Request,
_extensions: &mut Extensions,
_next: Next<'>,
) -> Result
let conditional = ConditionalMiddleware::new( AlwaysOk, |req: &Request| req.method() == http::Method::GET );
```