Skip to main content

liter_llm_proxy/config/
server.rs

1use serde::Deserialize;
2
3fn default_host() -> String {
4    "0.0.0.0".to_string()
5}
6
7fn default_port() -> u16 {
8    4000
9}
10
11fn default_request_timeout() -> u64 {
12    600
13}
14
15fn default_body_limit() -> usize {
16    10_485_760
17}
18
19fn default_cors() -> Vec<String> {
20    vec!["*".to_string()]
21}
22
23/// HTTP server configuration for the proxy.
24#[derive(Debug, Clone, Deserialize)]
25#[serde(deny_unknown_fields)]
26pub struct ServerConfig {
27    #[serde(default = "default_host")]
28    pub host: String,
29    #[serde(default = "default_port")]
30    pub port: u16,
31    #[serde(default = "default_request_timeout")]
32    pub request_timeout_secs: u64,
33    #[serde(default = "default_body_limit")]
34    pub body_limit_bytes: usize,
35    #[serde(default = "default_cors")]
36    pub cors_origins: Vec<String>,
37}
38
39impl Default for ServerConfig {
40    fn default() -> Self {
41        Self {
42            host: default_host(),
43            port: default_port(),
44            request_timeout_secs: default_request_timeout(),
45            body_limit_bytes: default_body_limit(),
46            cors_origins: default_cors(),
47        }
48    }
49}