mauth_client/
reqwest_middleware.rs1use http::Extensions;
2use reqwest::{Request, Response};
3use reqwest_middleware::{Middleware, Next, Result};
4
5use crate::{MAuthInfo, sign_outgoing::SigningError};
6
7#[async_trait::async_trait]
8impl Middleware for MAuthInfo {
9 async fn handle(
10 &self,
11 mut req: Request,
12 extensions: &mut Extensions,
13 next: Next<'_>,
14 ) -> Result<Response> {
15 self.sign_request(&mut req)?;
16 next.run(req, extensions).await
17 }
18}
19
20impl From<SigningError> for reqwest_middleware::Error {
21 fn from(value: SigningError) -> Self {
22 reqwest_middleware::Error::Middleware(value.into())
23 }
24}