use structopt::StructOpt;
#[derive(Debug, StructOpt)]
pub struct Options {
#[structopt(long, default_value = "my-static-server", env = "SERVER_NAME")]
pub name: String,
#[structopt(long, default_value = "[::]", env = "SERVER_HOST")]
pub host: String,
#[structopt(long, default_value = "80", env = "SERVER_PORT")]
pub port: u16,
#[structopt(long, default_value = "./public", env = "SERVER_ROOT")]
pub root: String,
#[structopt(long, default_value = "./public/assets", env = "SERVER_ASSETS")]
pub assets: String,
#[structopt(
long,
default_value = "./public/50x.html",
env = "SERVER_ERROR_PAGE_50X"
)]
pub page50x: String,
#[structopt(
long,
default_value = "./public/404.html",
env = "SERVER_ERROR_PAGE_404"
)]
pub page404: String,
#[structopt(long, env = "SERVER_TLS")]
pub tls: bool,
#[structopt(long, default_value = "", env = "SERVER_TLS_PKCS12")]
pub tls_pkcs12: String,
#[structopt(long, default_value = "", env = "SERVER_TLS_PKCS12_PASSWD")]
pub tls_pkcs12_passwd: String,
#[structopt(long, env = "SERVER_TLS_REDIRECT_FROM")]
pub tls_redirect_from: Option<u16>,
#[structopt(long, env = "SERVER_TLS_REDIRECT_HOST")]
pub tls_redirect_host: Option<String>,
#[structopt(long, default_value = "error", env = "SERVER_LOG_LEVEL")]
pub log_level: String,
#[structopt(long, default_value = "", env = "SERVER_CORS_ALLOW_ORIGINS")]
pub cors_allow_origins: String,
}