fix: use Axum DefaultBodyLimit so per-route overrides work
Replace tower-http RequestBodyLimitLayer with Axum's DefaultBodyLimit for the global 5 MB request body cap. RequestBodyLimitLayer enforced a hard limit that prevented per-route DefaultBodyLimit overrides (backup restore at 50 MB, scan/image at 10 MB) from taking effect, causing HTTP 413 on backup restore.
This commit is contained in:
parent
488e7f9d74
commit
dfb7e86f6d
1 changed files with 2 additions and 2 deletions
|
|
@ -5,12 +5,12 @@ pub mod support;
|
||||||
pub(crate) use app::auth::is_authenticated;
|
pub(crate) use app::auth::is_authenticated;
|
||||||
|
|
||||||
use askama::Template;
|
use askama::Template;
|
||||||
|
use axum::extract::DefaultBodyLimit;
|
||||||
use axum::http::{HeaderValue, StatusCode};
|
use axum::http::{HeaderValue, StatusCode};
|
||||||
use axum::response::Html;
|
use axum::response::Html;
|
||||||
use tower::ServiceBuilder;
|
use tower::ServiceBuilder;
|
||||||
use tower_cookies::CookieManagerLayer;
|
use tower_cookies::CookieManagerLayer;
|
||||||
use tower_http::compression::CompressionLayer;
|
use tower_http::compression::CompressionLayer;
|
||||||
use tower_http::limit::RequestBodyLimitLayer;
|
|
||||||
use tower_http::set_header::SetResponseHeaderLayer;
|
use tower_http::set_header::SetResponseHeaderLayer;
|
||||||
use tower_http::trace::{DefaultMakeSpan, DefaultOnResponse, TraceLayer};
|
use tower_http::trace::{DefaultMakeSpan, DefaultOnResponse, TraceLayer};
|
||||||
use tracing::Level;
|
use tracing::Level;
|
||||||
|
|
@ -36,7 +36,7 @@ pub fn app_router(state: AppState) -> axum::Router {
|
||||||
.on_response(DefaultOnResponse::new().level(Level::INFO)),
|
.on_response(DefaultOnResponse::new().level(Level::INFO)),
|
||||||
)
|
)
|
||||||
.layer(CookieManagerLayer::new())
|
.layer(CookieManagerLayer::new())
|
||||||
.layer(RequestBodyLimitLayer::new(BODY_LIMIT_BYTES))
|
.layer(DefaultBodyLimit::max(BODY_LIMIT_BYTES))
|
||||||
.layer(SetResponseHeaderLayer::overriding(
|
.layer(SetResponseHeaderLayer::overriding(
|
||||||
axum::http::header::X_CONTENT_TYPE_OPTIONS,
|
axum::http::header::X_CONTENT_TYPE_OPTIONS,
|
||||||
HeaderValue::from_static("nosniff"),
|
HeaderValue::from_static("nosniff"),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue