pub serve_path: PathBuf,
#[serde(deserialize_with = "deserialize_bind_addrs")]
#[serde(rename = "bind")]
+ #[serde(default = "default_addrs")]
pub addrs: Vec<BindAddr>,
+ #[serde(default = "default_port")]
pub port: u16,
#[serde(skip)]
pub path_is_file: bool,
pub fn parse(matches: ArgMatches) -> Result<Args> {
let mut args = Self {
serve_path: default_serve_path(),
- addrs: BindAddr::parse_addrs(&["0.0.0.0", "::"]).unwrap(),
- port: 5000,
+ addrs: default_addrs(),
+ port: default_port(),
..Default::default()
};
fn default_serve_path() -> PathBuf {
PathBuf::from(".")
}
+
+fn default_addrs() -> Vec<BindAddr> {
+ BindAddr::parse_addrs(&["0.0.0.0", "::"]).unwrap()
+}
+
+fn default_port() -> u16 {
+ 5000
+}