Initial commit.

Signed-off-by: Pavel Kirilin <win10@list.ru>
This commit is contained in:
2023-02-20 01:20:41 +04:00
parent 9a04acd753
commit faae5e4898
39 changed files with 3420 additions and 2 deletions

29
src/server/main.rs Normal file
View File

@ -0,0 +1,29 @@
use std::sync::Arc;
use tokio::sync::RwLock;
use actix_web::{web::Data, App, HttpServer};
use crate::args::ServerConfig;
use super::routes::{healthcheck, index, login};
pub async fn start(args: ServerConfig, token: Arc<RwLock<Option<String>>>) -> anyhow::Result<()> {
let addr = (args.host.clone(), args.port);
HttpServer::new(move || {
App::new()
.wrap(actix_web::middleware::Logger::new(
"\"%r\" \"-\" \"%s\" \"%a\" \"%D\"",
))
.app_data(Data::new(token.clone()))
.app_data(Data::new(args.clone()))
.service(login)
.service(index)
.service(healthcheck)
.service(actix_files::Files::new("/static", args.static_dir.clone()))
})
.bind(addr)?
.workers(1)
.run()
.await?;
Ok(())
}