index : static-web-server.git

ascending towards madness

author Jose Quintana <joseluisquintana20@gmail.com> 2019-12-20 22:49:42.0 +00:00:00
committer Jose Quintana <joseluisquintana20@gmail.com> 2019-12-20 22:49:42.0 +00:00:00
commit
6fb65b2e9090c6302796300880ae78839e06576a [patch]
tree
18943b6bbf14ed4c68a56ddd486753b04c7b8c17
parent
5e9abd4be188cbd21224a1d9c570d7d97829bda9
download
6fb65b2e9090c6302796300880ae78839e06576a.tar.gz

refactor: rename env.rs to config.rs



Diff

 src/config.rs | 20 ++++++++++++++++++++
 src/env.rs    | 20 --------------------
 src/main.rs   | 17 ++++++-----------
 3 files changed, 26 insertions(+), 31 deletions(-)

diff --git a/src/config.rs b/src/config.rs
new file mode 100644
index 0000000..24efe3e
--- /dev/null
+++ b/src/config.rs
@@ -0,0 +1,20 @@
use structopt::StructOpt;

#[derive(Debug, StructOpt)]
pub struct Options {
    #[structopt(long, default_value = "my-static-server", env = "SERVER_NAME")]
    /// Name for server
    pub name: String,
    #[structopt(long, default_value = "[::]", env = "SERVER_HOST")]
    /// Host address (E.g 127.0.0.1)
    pub host: String,
    #[structopt(long, default_value = "80", env = "SERVER_PORT")]
    /// Host port
    pub port: u16,
    #[structopt(long, default_value = "./public", env = "SERVER_ROOT")]
    /// Root directory path of static files
    pub root: String,
    #[structopt(long, default_value = "./assets", env = "SERVER_ASSETS")]
    /// Assets directory path for add cache headers functionality
    pub assets: String,
}
diff --git a/src/env.rs b/src/env.rs
deleted file mode 100644
index 35f3f41..0000000
--- a/src/env.rs
+++ /dev/null
@@ -1,20 +0,0 @@
use structopt::StructOpt;

#[derive(Debug, StructOpt)]
pub struct Config {
    #[structopt(long, default_value = "my-static-server", env = "SERVER_NAME")]
    /// Name for server
    pub name: String,
    #[structopt(long, default_value = "[::]", env = "SERVER_HOST")]
    /// Host address (E.g 127.0.0.1)
    pub host: String,
    #[structopt(long, default_value = "80", env = "SERVER_PORT")]
    /// Host port
    pub port: u16,
    #[structopt(long, default_value = "./public", env = "SERVER_ROOT")]
    /// Root directory path of static files
    pub root: String,
    #[structopt(long, default_value = "./assets", env = "SERVER_ASSETS")]
    /// Assets directory path for add cache headers functionality
    pub assets: String,
}
diff --git a/src/main.rs b/src/main.rs
index 85fab83..84701c2 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -8,7 +8,7 @@ extern crate iron_staticfile_middleware;
extern crate log;
extern crate structopt;

use crate::env::Config;
use crate::config::Options;
use chrono::Local;
use env_logger::Builder;
use iron::prelude::*;
@@ -16,7 +16,7 @@ use log::LevelFilter;
use std::io::Write;
use structopt::StructOpt;

mod env;
mod config;
mod gzip;
mod logger;
mod staticfiles;
@@ -35,21 +35,16 @@ fn main() {
        .filter(None, LevelFilter::Info)
        .init();

    let config = Config::from_args();
    let opts = Options::from_args();

    let _address = &format!(
        "{}{}{}",
        config.host.to_string(),
        ":",
        config.port.to_string()
    );
    let _address = &format!("{}{}{}", opts.host.to_string(), ":", opts.port.to_string());

    let _server = Iron::new(staticfiles::handler(config.root, config.assets))
    let _server = Iron::new(staticfiles::handler(opts.root, opts.assets))
        .http(_address)
        .expect("Unable to start the HTTP Server");

    info!(
        "Static HTTP Server `{}` is running on {}",
        config.name, _address
        opts.name, _address
    );
}