rustypaste/src/main.rs

27 lines
867 B
Rust

use actix_web::middleware::Logger;
use actix_web::{App, HttpServer};
use oops::config::Config;
use oops::server;
use std::fs;
use std::io::Result as IoResult;
#[actix_web::main]
async fn main() -> IoResult<()> {
dotenv::dotenv().ok();
env_logger::init_from_env(env_logger::Env::new().default_filter_or("info"));
let config = Config::parse("config").expect("failed to parse config");
let server_config = config.server.clone();
fs::create_dir_all(server_config.upload_path)?;
let mut http_server = HttpServer::new(move || {
App::new()
.data(config.clone())
.wrap(Logger::default())
.configure(server::configure_routes)
})
.bind(server_config.address)?;
if let Some(workers) = server_config.workers {
http_server = http_server.workers(workers);
}
http_server.run().await
}