Add server host/port config
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
use std::net::{IpAddr, Ipv4Addr, SocketAddr};
|
||||
use std::path::PathBuf;
|
||||
|
||||
use serde::Deserialize;
|
||||
@@ -146,6 +147,14 @@ impl KeyValStoreConfig {
|
||||
#[derive(Debug, Clone, Deserialize)]
|
||||
pub struct ServerConfig {
|
||||
pub public_path: PathBuf,
|
||||
pub host: IpAddr,
|
||||
pub port: u16,
|
||||
}
|
||||
|
||||
impl ServerConfig {
|
||||
pub fn serve_addr(&self) -> SocketAddr {
|
||||
SocketAddr::new(self.host, self.port)
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Deserialize)]
|
||||
@@ -164,7 +173,16 @@ pub fn load_config() -> Result<Config, config::ConfigError> {
|
||||
let pkg_name = env!("CARGO_PKG_NAME");
|
||||
|
||||
config::Config::builder()
|
||||
.set_default("server.port", 8080)?
|
||||
.set_default(
|
||||
"server.port",
|
||||
dioxus::cli_config::server_port().unwrap_or(8080),
|
||||
)?
|
||||
.set_default(
|
||||
"server.host",
|
||||
dioxus::cli_config::server_ip()
|
||||
.unwrap_or(IpAddr::V4(Ipv4Addr::UNSPECIFIED))
|
||||
.to_string(),
|
||||
)?
|
||||
.set_default("auth.open_signup", false)?
|
||||
.set_default("auth.cookies_secure", DEFAULT_COOKIES_SECURE)?
|
||||
.set_default("server.public_path", default_public_dir())?
|
||||
|
||||
Reference in New Issue
Block a user