From 0965d62be00a7820f97284704dc71f37e661b412 Mon Sep 17 00:00:00 2001 From: Kevin J Hoerr Date: Sun, 26 Aug 2018 01:38:28 -0400 Subject: Begin migration to Rust; Add actix-web, diesel as main dependencies --- src/bin/august-offensive.rs | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/bin/august-offensive.rs (limited to 'src/bin/august-offensive.rs') 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(); +} -- cgit