spacedust 1.1.0

An API wrapper for spacetraders.io V2
Documentation
use reqwest::{Request, Response, header::HeaderValue};
use task_local_extensions::Extensions;
use reqwest_middleware::{Middleware, Next, Result};

pub struct ContentLengthFixMiddleware;

#[async_trait::async_trait]
impl Middleware for ContentLengthFixMiddleware {
    async fn handle(
        &self,
        mut req: Request,
        extensions: &mut Extensions,
        next: Next<'_>,
    ) -> Result<Response> {
        if let None = req.body() {
            if !req.headers().contains_key("content-length") {
                req.headers_mut().append("content-length", HeaderValue::from_static("0"));
            }
        }
        let res = next.run(req, extensions).await;
        res
    }
}