If -p is passed without --bind, bind to that port

master
chris west 4 years ago
parent 4de39201ba
commit 1cb71b3450

@ -1,5 +1,4 @@
use phd;
use std::net::SocketAddr;
use std::process;
const DEFAULT_BIND: &str = "[::]:7070";
@ -10,7 +9,7 @@ fn main() {
let args = std::env::args().skip(1).collect::<Vec<_>>();
let mut args = args.iter();
let mut root = ".";
let mut bind: SocketAddr = DEFAULT_BIND.parse().unwrap();
let mut addr = DEFAULT_BIND;
let mut host = DEFAULT_HOST;
let mut port = DEFAULT_PORT;
let mut render = "";
@ -27,14 +26,8 @@ fn main() {
}
}
"--bind" | "-b" | "-bind" => {
if let Some(b) = args.next() {
bind = b
.parse()
.map_err(|_| {
eprintln!("bad socket bind: {}", b);
process::exit(1)
})
.unwrap();
if let Some(a) = args.next() {
addr = a
}
}
"--port" | "-p" | "-port" => {
@ -71,6 +64,13 @@ fn main() {
}
}
// If port was given and socket wasn't, bind to that port.
let bind = if port != DEFAULT_PORT && addr == DEFAULT_BIND {
format!("[::]:{}", port).parse().unwrap()
} else {
addr.parse().unwrap()
};
if !render.is_empty() {
return match phd::server::render(host, port, root, &render) {
Ok(out) => print!("{}", out),

Loading…
Cancel
Save