credence_lib/configuration/
requests.rs

1use super::super::resolve::*;
2
3use {
4    compris::resolve::*,
5    kutil::{cli::depict::*, std::metric::*},
6    std::time::*,
7};
8
9//
10// RequestsConfiguration
11//
12
13/// Requests configuration.
14#[derive(Clone, Debug, Depict, Resolve)]
15pub struct RequestsConfiguration {
16    /// Maximum body size.
17    #[resolve(key = "max-body-size")]
18    #[depict(as(display), style(symbol))]
19    pub max_body_size: ResolveByteCount,
20
21    /// Maximum duration.
22    #[resolve(key = "max-duration")]
23    #[depict(as(custom(resolve_duration_to_string)), style(symbol))]
24    pub max_duration: ResolveDuration,
25}
26
27impl Default for RequestsConfiguration {
28    fn default() -> Self {
29        Self { max_body_size: ByteCount::from_kibibytes(4).into(), max_duration: Duration::from_secs(10).into() }
30    }
31}