upload limit
This commit is contained in:
@@ -56,6 +56,8 @@ pub struct AppConfig {
|
|||||||
pub quickwit_index: Option<String>,
|
pub quickwit_index: Option<String>,
|
||||||
#[serde(default = "default_worker_max_document_bytes")]
|
#[serde(default = "default_worker_max_document_bytes")]
|
||||||
pub worker_max_document_bytes: u64,
|
pub worker_max_document_bytes: u64,
|
||||||
|
#[serde(default = "default_upload_body_limit_bytes")]
|
||||||
|
pub upload_body_limit_bytes: u64,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub webauthn_rp_id: Option<String>,
|
pub webauthn_rp_id: Option<String>,
|
||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
@@ -76,6 +78,7 @@ impl AppConfig {
|
|||||||
passkeys_enabled = config.webauthn_origin.is_some(),
|
passkeys_enabled = config.webauthn_origin.is_some(),
|
||||||
s3_bucket = %config.s3_bucket,
|
s3_bucket = %config.s3_bucket,
|
||||||
worker_max_document_bytes = config.worker_max_document_bytes,
|
worker_max_document_bytes = config.worker_max_document_bytes,
|
||||||
|
upload_body_limit_bytes = config.upload_body_limit_bytes,
|
||||||
"loaded backend configuration"
|
"loaded backend configuration"
|
||||||
);
|
);
|
||||||
Ok(config)
|
Ok(config)
|
||||||
@@ -173,6 +176,10 @@ fn default_worker_max_document_bytes() -> u64 {
|
|||||||
200 * 1024 * 1024
|
200 * 1024 * 1024
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn default_upload_body_limit_bytes() -> u64 {
|
||||||
|
128 * 1024 * 1024
|
||||||
|
}
|
||||||
|
|
||||||
fn default_webauthn_rp_name() -> String {
|
fn default_webauthn_rp_name() -> String {
|
||||||
"Papercrate".to_string()
|
"Papercrate".to_string()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -175,6 +175,8 @@ pub fn create_router(state: AppState) -> Router<()> {
|
|||||||
}),
|
}),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
let upload_limit = state.config.upload_body_limit_bytes;
|
||||||
|
|
||||||
Router::new()
|
Router::new()
|
||||||
.merge(download_routes)
|
.merge(download_routes)
|
||||||
.merge(protected_routes)
|
.merge(protected_routes)
|
||||||
@@ -183,7 +185,9 @@ pub fn create_router(state: AppState) -> Router<()> {
|
|||||||
.route("/api/health", get(health::health_check))
|
.route("/api/health", get(health::health_check))
|
||||||
.with_state(state)
|
.with_state(state)
|
||||||
.layer(cors)
|
.layer(cors)
|
||||||
.layer(DefaultBodyLimit::max(128 * 1024 * 1024))
|
.layer(DefaultBodyLimit::max(
|
||||||
|
usize::try_from(upload_limit).unwrap_or(usize::MAX),
|
||||||
|
))
|
||||||
.layer(
|
.layer(
|
||||||
TraceLayer::new_for_http()
|
TraceLayer::new_for_http()
|
||||||
.make_span_with(DefaultMakeSpan::new().level(tracing::Level::INFO))
|
.make_span_with(DefaultMakeSpan::new().level(tracing::Level::INFO))
|
||||||
|
|||||||
@@ -143,6 +143,7 @@ impl TestApp {
|
|||||||
quickwit_endpoint: None,
|
quickwit_endpoint: None,
|
||||||
quickwit_index: None,
|
quickwit_index: None,
|
||||||
worker_max_document_bytes: 200 * 1024 * 1024,
|
worker_max_document_bytes: 200 * 1024 * 1024,
|
||||||
|
upload_body_limit_bytes: 128 * 1024 * 1024,
|
||||||
webauthn_rp_id: Some("localhost".to_string()),
|
webauthn_rp_id: Some("localhost".to_string()),
|
||||||
webauthn_origin: Some("http://localhost".to_string()),
|
webauthn_origin: Some("http://localhost".to_string()),
|
||||||
webauthn_rp_name: "Papercrate".to_string(),
|
webauthn_rp_name: "Papercrate".to_string(),
|
||||||
|
|||||||
Reference in New Issue
Block a user