X-Git-Url: http://git.euphorik.ch/?a=blobdiff_plain;f=backend%2Fsrc%2Fmain.rs;h=299f5c55c36ac60b35416d327fe41b2d59e22175;hb=eab43f8995eff5b8a4f6c4ded6a655866feddedb;hp=bc89ab84bf2054c4ac80ddc5f523269d74717ad5;hpb=44826a7edd68c0111273dac0ac4a3a705a6534cf;p=recipes.git diff --git a/backend/src/main.rs b/backend/src/main.rs index bc89ab8..299f5c5 100644 --- a/backend/src/main.rs +++ b/backend/src/main.rs @@ -1,20 +1,19 @@ -extern crate actix_web; -extern crate listenfd; -extern crate askama; +use std::io::prelude::*; +use std::{fs::File, env::args}; -use listenfd::ListenFd; use actix_files as fs; -use actix_web::{web, middleware, App, HttpServer, HttpResponse, Result, web::Query}; -use askama::Template; +use actix_web::{get, web, Responder, middleware, App, HttpServer, HttpResponse, web::Query, middleware::Logger}; -use std::io::prelude::*; +use askama::Template; +use listenfd::ListenFd; use ron::de::from_reader; use serde::Deserialize; -use std::{fs::File, env::args}; +use env_logger; use itertools::Itertools; mod consts; +mod db; #[derive(Template)] #[template(path = "main.html")] @@ -27,12 +26,12 @@ pub struct Request { m: Option } -fn main_page(query: Query) -> Result { +fn main_page(query: Query) -> HttpResponse { - let main_template = MainTemplate { test: &"test" }; + let main_template = MainTemplate { test: &"*** test ***" }; let s = main_template.render().unwrap(); - Ok(HttpResponse::Ok().content_type("text/html").body(s)) + HttpResponse::Ok().content_type("text/html").body(s) } #[derive(Debug, Deserialize)] @@ -46,7 +45,8 @@ fn get_exe_name() -> String { first_arg[first_arg.rfind(sep).unwrap()+1..].to_string() } -fn main() -> std::io::Result<()> { +#[actix_rt::main] +async fn main() -> std::io::Result<()> { if process_args() { return Ok(()) } println!("Starting RUP as web server..."); @@ -61,13 +61,19 @@ fn main() -> std::io::Result<()> { println!("Configuration: {:?}", config); + // let database_connection = db::create_or_update(); + + std::env::set_var("RUST_LOG", "actix_web=info"); + env_logger::init(); + let mut listenfd = ListenFd::from_env(); let mut server = HttpServer::new( || { App::new() .wrap(middleware::Compress::default()) - .wrap(middleware::Logger::default()) + .wrap(Logger::default()) + .wrap(Logger::new("%a %{User-Agent}i")) .service(web::resource("/").to(main_page)) .service(fs::Files::new("/static", "static").show_files_listing()) } @@ -80,13 +86,13 @@ fn main() -> std::io::Result<()> { server.bind(&format!("0.0.0.0:{}", config.port)).unwrap() }; - server.run() + server.run().await } fn process_args() -> bool { fn print_usage() { println!("Usage:"); - println!(" {} [--help]", get_exe_name()); + println!(" {} [--help] [--test]", get_exe_name()); } let args: Vec = args().collect(); @@ -94,6 +100,10 @@ fn process_args() -> bool { if args.iter().any(|arg| arg == "--help") { print_usage(); return true + } else if args.iter().any(|arg| arg == "--test") { + let db_connection = db::Connection::new(); + db_connection.create_or_update(); + return true } false