drogue_bazaar/actix/http/
config.rs1use super::defaults;
2use crate::actix::http::CorsConfig;
3use serde::Deserialize;
4
5#[derive(Clone, Debug, Deserialize)]
7pub struct HttpConfig {
8 #[serde(default = "defaults::bind_addr")]
9 pub bind_addr: String,
10 #[serde(default = "defaults::max_json_payload_size")]
11 pub max_json_payload_size: usize,
12 #[serde(default = "defaults::max_payload_size")]
13 pub max_payload_size: usize,
14 #[serde(default)]
15 pub disable_tls: bool,
16 #[serde(default)]
17 pub disable_tls_psk: bool,
18 #[serde(default)]
19 pub cert_bundle_file: Option<String>,
20 #[serde(default)]
21 pub key_file: Option<String>,
22
23 #[serde(default)]
24 pub workers: Option<usize>,
25
26 #[serde(default)]
27 pub metrics_namespace: Option<String>,
28
29 #[serde(default)]
30 pub cors: Option<CorsConfig>,
31}
32
33impl Default for HttpConfig {
34 fn default() -> Self {
35 Self {
36 bind_addr: defaults::bind_addr(),
37 max_json_payload_size: defaults::max_json_payload_size(),
38 max_payload_size: defaults::max_payload_size(),
39 disable_tls: false,
40 disable_tls_psk: false,
41 cert_bundle_file: None,
42 key_file: None,
43 workers: None,
44 metrics_namespace: None,
45 cors: None,
46 }
47 }
48}