diff options
| author | Kevin J Hoerr <kjhoerr@submelon.tech> | 2018-08-26 01:38:28 -0400 |
|---|---|---|
| committer | Kevin Hoerr <kjhoerr@submelon.tech> | 2018-08-31 23:24:45 -0400 |
| commit | 0965d62be00a7820f97284704dc71f37e661b412 (patch) | |
| tree | 5a5c9d69062e24aa926eb30447c5ff27e0a65492 /src/bin/august-offensive.rs | |
| parent | 1e3946f04b5b602d3869a285d897acb0ba2b3c35 (diff) | |
| download | august-offensive-0965d62be00a7820f97284704dc71f37e661b412.tar.gz august-offensive-0965d62be00a7820f97284704dc71f37e661b412.tar.bz2 august-offensive-0965d62be00a7820f97284704dc71f37e661b412.zip | |
Begin migration to Rust; Add actix-web, diesel as main dependencies
Diffstat (limited to 'src/bin/august-offensive.rs')
| -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(); +} |
