diff --git a/src/subcommand/server.rs b/src/subcommand/server.rs index 51f797c85d..51a4bfd090 100644 --- a/src/subcommand/server.rs +++ b/src/subcommand/server.rs @@ -129,10 +129,9 @@ impl Display for StaticHtml { pub(crate) struct Server { #[arg( long, - default_value = "0.0.0.0", - help = "Listen on
for incoming requests." + help = "Listen on
for incoming requests. [default: 0.0.0.0]" )] - address: String, + address: Option, #[arg( long, help = "Request ACME TLS certificate for . This ord instance must be reachable at :443 to respond to Let's Encrypt ACME challenges." @@ -145,13 +144,13 @@ pub(crate) struct Server { csp_origin: Option, #[arg( long, - help = "Listen on for incoming HTTP requests. [default: 80]." + help = "Listen on for incoming HTTP requests. [default: 80]" )] http_port: Option, #[arg( long, group = "port", - help = "Listen on for incoming HTTPS requests. [default: 443]." + help = "Listen on for incoming HTTPS requests. [default: 443]" )] https_port: Option, #[arg(long, help = "Store ACME TLS certificates in .")] @@ -342,7 +341,18 @@ impl Server { port: u16, config: SpawnConfig, ) -> Result>> { - let addr = (self.address.as_str(), port) + let address = match &self.address { + Some(address) => address.as_str(), + None => { + if cfg!(test) || integration_test() { + "127.0.0.1" + } else { + "0.0.0.0" + } + } + }; + + let addr = (address, port) .to_socket_addrs()? .next() .ok_or_else(|| anyhow!("failed to get socket addrs"))?;