1use std::net::{IpAddr, SocketAddr};
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize)]
6pub struct Config {
7 pub port: u16,
8 pub host: IpAddr,
9 pub allowed_origins: Vec<String>,
10}
11
12impl Default for Config {
13 fn default() -> Self {
14 Self {
15 port: 3000,
16 host: "127.0.0.1".parse().expect("Invalid ip address"),
17 allowed_origins: Vec::new(),
18 }
19 }
20}
21
22impl Config {
23 pub fn socket_addr(&self) -> SocketAddr {
24 SocketAddr::from((self.host, self.port))
25 }
26}