diff options
Diffstat (limited to 'src/bin')
| -rw-r--r-- | src/bin/august-offensive.rs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/bin/august-offensive.rs b/src/bin/august-offensive.rs new file mode 100644 index 0000000..77ca2f6 --- /dev/null +++ b/src/bin/august-offensive.rs @@ -0,0 +1,45 @@ +extern crate actix; +extern crate actix_web; +extern crate env_logger; +extern crate dotenv; +extern crate diesel; + +use actix_web::{middleware, server, App, HttpRequest}; +use diesel::prelude::*; +use diesel::pg::PgConnection; +use dotenv::dotenv; +use std::env; + +fn index(_req: &HttpRequest) -> &'static str { + "Hello, world!" +} + +// TODO describe change of direction in README +// TODO implement error-chain +// TODO match 0.1.0 functionality +fn main() { + dotenv().ok(); + let db_url = env::var("DATABASE_URL") + .expect("DATABASE_URL must be set"); + let bind_address = env::var("BIND_ADDRESS") + .expect("BIND_ADDRESS must be set"); + + env::set_var("RUST_LOG", "actix_web=info"); + env_logger::init(); + let sys = actix::System::new("hello-world"); + + PgConnection::establish(&db_url) + .expect(&format!("Error connecting to {}", db_url)); + + server::new(|| { + App::new() + .middleware(middleware::Logger::default()) + .resource("/index.html", |r| r.f(index)) + .resource("/", |r| r.f(index)) + }).bind(&bind_address) + .unwrap() + .start(); + + println!("Started http server: {}", bind_address); + let _ = sys.run(); +} |
