v0.2.0
This commit is contained in:
1 parent
fc81ecafd6
commit
dc57aa7089
89 files changed
+5290
-1551
No files matched your search
@@ -101,6 +101,7 @@ impl KeyExtractor for ProxyAwareIpExtractor {
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
pub fn create_router(
|
||||
config: Arc<AppConfig>,
|
||||
store: Arc<SessionStore>,
|
||||
@@ -110,6 +111,42 @@ pub fn create_router(
|
||||
event_bus: Arc<EventBus>,
|
||||
idle_manager: Arc<IdleManager>,
|
||||
) -> Router {
|
||||
let storage =
|
||||
crate::storage::from_config(&config).expect("validated RustBox storage configuration");
|
||||
create_router_with_storage(
|
||||
config,
|
||||
RouterServices {
|
||||
store,
|
||||
imap_client,
|
||||
smtp_client,
|
||||
search_engine,
|
||||
storage,
|
||||
event_bus,
|
||||
idle_manager,
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
pub struct RouterServices {
|
||||
pub store: Arc<SessionStore>,
|
||||
pub imap_client: Arc<dyn ImapClient>,
|
||||
pub smtp_client: Arc<dyn SmtpClient>,
|
||||
pub search_engine: Arc<crate::search::engine::SearchEngine>,
|
||||
pub storage: Arc<dyn crate::storage::BlobStorage>,
|
||||
pub event_bus: Arc<EventBus>,
|
||||
pub idle_manager: Arc<IdleManager>,
|
||||
}
|
||||
|
||||
pub fn create_router_with_storage(config: Arc<AppConfig>, services: RouterServices) -> Router {
|
||||
let RouterServices {
|
||||
store,
|
||||
imap_client,
|
||||
smtp_client,
|
||||
search_engine,
|
||||
storage,
|
||||
event_bus,
|
||||
idle_manager,
|
||||
} = services;
|
||||
let governor_conf = GovernorConfigBuilder::default()
|
||||
.key_extractor(ProxyAwareIpExtractor {
|
||||
trusted_proxies: config.parsed_trusted_proxies(),
|
||||
@@ -477,6 +514,7 @@ pub fn create_router(
|
||||
.layer(Extension(event_bus))
|
||||
.layer(Extension(smtp_client))
|
||||
.layer(Extension(search_engine))
|
||||
.layer(Extension(storage))
|
||||
.layer(Extension(imap_client))
|
||||
.layer(Extension(store))
|
||||
.layer(Extension(config.clone()))
|
||||
|
||||
Reference in new issue
Block a user