httproxide 0.2.0

Rusted HTTP router reverse-proxy
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use serde::{Deserialize, Serialize};
use tower::layer::layer_fn;
use tower_http::limit::RequestBodyLimit;
use tower_http::map_request_body::MapRequestBody;

use super::ApplyLayer;

#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Hash)]
pub struct RequestBodyLimitConfig {
    limit: usize,
}

pub fn from_config(config: RequestBodyLimitConfig) -> anyhow::Result<impl ApplyLayer> {
    Ok(layer_fn(move |s| {
        RequestBodyLimit::new(MapRequestBody::new(s, axum::body::boxed), config.limit)
    }))
}