diff --git a/src/bin/chorus.rs b/src/bin/chorus.rs index 8363a8e..ff93571 100644 --- a/src/bin/chorus.rs +++ b/src/bin/chorus.rs @@ -31,6 +31,11 @@ async fn main() -> Result<(), Error> { let store = chorus::setup_store(&config)?; let _ = GLOBALS.store.set(store); + if let Some(ref blossom_directory) = config.blossom_directory { + let filestore = chorus::filestore::FileStore::new(blossom_directory).await?; + let _ = GLOBALS.filestore.set(filestore); + } + // TLS setup let maybe_tls_acceptor = if config.use_tls { log::info!(target: "Server", "Using TLS"); diff --git a/src/globals.rs b/src/globals.rs index b9de435..1940e36 100644 --- a/src/globals.rs +++ b/src/globals.rs @@ -1,4 +1,5 @@ use crate::config::Config; +use crate::filestore::FileStore; use crate::ip::HashedIp; use dashmap::DashMap; use hyper::server::conn::http1; @@ -18,6 +19,7 @@ pub struct Globals { pub bytes_outbound: AtomicU64, pub config: RwLock, pub store: OnceLock, + pub filestore: OnceLock, pub http1builder: http1::Builder, pub rid: OnceLock, @@ -48,6 +50,7 @@ lazy_static! { bytes_outbound: AtomicU64::new(0), config: RwLock::new(Default::default()), store: OnceLock::new(), + filestore: OnceLock::new(), http1builder, rid: OnceLock::new(), new_events,