aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorSven-Hendrik Haase <svenstaro@gmail.com>2025-03-11 10:25:38 +0000
committerSven-Hendrik Haase <svenstaro@gmail.com>2025-03-11 11:56:02 +0000
commit612bcc1b80d95bd677da8c6453d6e9415370acbe (patch)
tree715cbb11bb7ef3e51696c3770023e99c9438669b /src/main.rs
parentSSE-based directory size handling (diff)
downloadminiserve-612bcc1b80d95bd677da8c6453d6e9415370acbe.tar.gz
miniserve-612bcc1b80d95bd677da8c6453d6e9415370acbe.zip
Simplify SseManager a bitorigin/sse-based-dirsize
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/main.rs b/src/main.rs
index 3fe1410..28a666b 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -19,7 +19,6 @@ use colored::*;
use dav_server::{DavHandler, DavMethodSet};
use fast_qr::QRBuilder;
use log::{error, warn};
-use tokio::sync::Mutex;
mod archive;
mod args;
@@ -38,7 +37,8 @@ mod webdav_fs;
use crate::config::MiniserveConfig;
use crate::errors::StartupError;
use crate::handlers::{
- DirSizeJoinSet, api_command, api_sse, css, dav_handler, error_404, favicon, healthcheck,
+ DirSizeTasks, SseManager, api_command, api_sse, css, dav_handler, error_404, favicon,
+ healthcheck,
};
use crate::webdav_fs::RestrictedFs;
@@ -214,13 +214,18 @@ async fn run(miniserve_config: MiniserveConfig) -> Result<(), StartupError> {
.join("\n"),
);
- let dir_size_join_set = web::Data::new(Mutex::new(DirSizeJoinSet::new()));
+ let sse_manager = web::Data::new(SseManager::new());
+ let dir_size_tasks = web::Data::new(DirSizeTasks::new(
+ miniserve_config.show_exact_bytes,
+ sse_manager.clone(),
+ ));
let srv = actix_web::HttpServer::new(move || {
App::new()
.wrap(configure_header(&inside_config.clone()))
.app_data(web::Data::new(inside_config.clone()))
- .app_data(dir_size_join_set.clone())
+ .app_data(dir_size_tasks.clone())
+ .app_data(sse_manager.clone())
.app_data(stylesheet.clone())
.wrap(from_fn(errors::error_page_middleware))
.wrap(middleware::Logger::default())