1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use serde::{Deserialize, Serialize};
use crate::types::{MultipartLimits, Payload};
#[derive(Debug, Deserialize, Serialize)]
pub struct Limits {
#[serde(default = "Limits::form")]
pub form: u64,
#[serde(default = "Limits::json")]
pub json: u64,
#[serde(default = "Limits::multipart")]
pub multipart: MultipartLimits,
}
impl Default for Limits {
fn default() -> Self {
Self { form: Self::form(), json: Self::json(), multipart: Self::multipart() }
}
}
impl Limits {
#[inline]
fn form() -> u64 {
Payload::PAYLOAD_LIMIT
}
#[inline]
fn json() -> u64 {
Payload::PAYLOAD_LIMIT * 8
}
#[inline]
fn multipart() -> MultipartLimits {
MultipartLimits::default()
}
}