diff options
Diffstat (limited to 'license-generator/src/main.rs')
-rw-r--r-- | license-generator/src/main.rs | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/license-generator/src/main.rs b/license-generator/src/main.rs index fab9eb1..32fdc3b 100644 --- a/license-generator/src/main.rs +++ b/license-generator/src/main.rs @@ -1,8 +1,41 @@ extern crate fastcgi; +#[macro_use] +extern crate log; +extern crate mysql; +extern crate simplelog; + +extern crate license_generator; + +use std::env; +use std::fs::OpenOptions; use std::io::{Read, Write}; -fn main() { +use simplelog::{Config, LevelFilter, WriteLogger}; + +use license_generator::database; +use license_generator::errors::*; + +fn main() -> Result<()> { + let log_file_path = env::var("LOG_FILE")?; + + let log_file = OpenOptions::new() + .append(true) + .create(true) + .open(log_file_path)?; + + WriteLogger::init(LevelFilter::Info, Config::default(), log_file)?; + + let cx = match database::get_database_connection() + .chain_err(|| "failed to create a database connection") + { + Ok(cx) => cx, + Err(e) => { + error!("{}", e); + return Err(e); + }, + }; + fastcgi::run(|mut req| { write!(&mut req.stdout(), "Content-Type: text/plain\n\nHello, world!") .unwrap_or(()); @@ -21,4 +54,6 @@ fn main() { write!(&mut req.stdout(), "\n\nstdin: {}\n", stdin) .unwrap_or(()); }); + + Ok(()) } |