From eddc15883aabe2ccd5652f804bb0d3fb01dbc334 Mon Sep 17 00:00:00 2001 From: Owen Jacobson Date: Thu, 4 Jun 2020 01:04:08 -0400 Subject: Renamed primary binary to `web`. This closely matches Procfile entries, making the structure of the project a little easier to follow. --- src/bin/web.rs | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/bin/web.rs (limited to 'src/bin/web.rs') diff --git a/src/bin/web.rs b/src/bin/web.rs new file mode 100644 index 0000000..3186207 --- /dev/null +++ b/src/bin/web.rs @@ -0,0 +1,36 @@ +use actix_web::{App, HttpServer}; +use std::io; +use thiserror::Error; + +use things_to_check::twelve; +use things_to_check::view; + +#[derive(Error, Debug)] +pub enum Error { + #[error("Unable to determine port number: {0}")] + PortError(#[from] twelve::Error), + #[error("Unable to initialize web view: {0}")] + ViewError(#[from] view::Error), + #[error("Unexpected IO error: {0}")] + IOError(#[from] io::Error), +} + +type Result = std::result::Result<(), Error>; + +#[actix_rt::main] +async fn main() -> Result { + let port = twelve::port(3000)?; + + let service = view::make_service()?; + + let app_factory = move || + App::new() + .configure(|cfg| service(cfg)); + + HttpServer::new(app_factory) + .bind(port)? + .run() + .await?; + + Ok(()) +} -- cgit v1.2.3