use std::time::Duration;
#[derive(Debug, Clone, Copy)]
pub struct Config {
pub(crate) idempotent: bool,
pub(crate) timeout: Duration,
pub(crate) response_body_limit: u64,
}
impl Default for Config {
fn default() -> Self {
Self { idempotent: false, timeout: Duration::from_secs(120), response_body_limit: 10_000_000 }
}
}
impl Config {
pub fn timeout(&self) -> Duration {
self.timeout
}
pub fn response_body_limit(&self) -> u64 {
self.response_body_limit
}
pub(crate) fn set_timeout(&mut self, duration: Duration) {
self.timeout = duration;
}
pub(crate) fn set_response_body_limit(&mut self, limit: u64) {
self.response_body_limit = limit;
}
pub(crate) fn set_idempotent(&mut self, idempotent: bool) {
self.idempotent = idempotent;
}
}
impl From<Config> for flawless_wasabi::HttpConfig {
fn from(value: Config) -> Self {
flawless_wasabi::HttpConfig {
idempotent: value.idempotent,
timeout: value.timeout,
response_body_limit: value.response_body_limit,
}
}
}