Skip to main content

folk_plugin_http/
config.rs

1use std::net::SocketAddr;
2use std::time::Duration;
3
4use serde::{Deserialize, Serialize};
5
6#[derive(Debug, Clone, Serialize, Deserialize)]
7#[serde(default)]
8pub struct HttpConfig {
9    /// Listening address. Default: 0.0.0.0:8080
10    pub listen: SocketAddr,
11    /// Max time to read request body. Default: 10s
12    #[serde(with = "humantime_serde")]
13    pub read_timeout: Duration,
14    /// Max time to write response. Default: 30s
15    #[serde(with = "humantime_serde")]
16    pub write_timeout: Duration,
17}
18
19impl Default for HttpConfig {
20    fn default() -> Self {
21        Self {
22            listen: "0.0.0.0:8080".parse().unwrap(),
23            read_timeout: Duration::from_secs(10),
24            write_timeout: Duration::from_secs(30),
25        }
26    }
27}