diff options
Diffstat (limited to 'dichroism/src/main.rs')
-rw-r--r-- | dichroism/src/main.rs | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/dichroism/src/main.rs b/dichroism/src/main.rs deleted file mode 100644 index 6c76f0a..0000000 --- a/dichroism/src/main.rs +++ /dev/null @@ -1,66 +0,0 @@ -#[macro_use] -extern crate serde; -#[macro_use] -extern crate diesel; - -use actix_cors::Cors; -use actix_web::{middleware::Logger, App, HttpServer}; -use config::CONFIG_INSTANCE as CONFIG; -use diesel::prelude::SqliteConnection; -use diesel::r2d2::ConnectionManager; -use diesel::r2d2::Pool; -use listenfd::ListenFd; -use result::Result; - -mod config; -mod constants; -mod dtos; -mod error; -mod handlers; -mod image_service; -mod models; -mod repo; -mod result; -mod schema; -mod types; - -#[actix_web::main] -async fn main() -> Result<()> { - // Init logging - std::env::set_var("RUST_LOG", "actix_web=info"); - env_logger::init(); - - // Init DB connection pool - let manager = ConnectionManager::<SqliteConnection>::new(&CONFIG.db_url); - let pool = Pool::builder().build(manager)?; - - // Init application server - let mut server = HttpServer::new(move || { - // Init CORS policy - let cors = Cors::permissive(); - - App::new() - .data(pool.clone()) - .wrap(cors) - .wrap(Logger::default()) - .service(handlers::hello) - .service(handlers::get_products) - .service(handlers::patch_product) - .service(handlers::post_product) - .service(handlers::post_photo) - }); - - // If using listenfd, bind to it instead of the configured address to allow for cargo watch - // auto-reloading - let mut listenfd = ListenFd::from_env(); - server = if let Some(l) = listenfd - .take_tcp_listener(0) - .expect("Unable to grab TCP listener!") - { - server.listen(l)? - } else { - server.bind(CONFIG.bind_addr)? - }; - - Ok(server.run().await?) -} |