|
|
|
@ -81,10 +81,19 @@ async fn main() { |
|
|
|
|
return; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
let http_enabled = config.service.http.http_addr.is_some(); |
|
|
|
|
let https_enabled = config.service.http.https_addr.is_some(); |
|
|
|
|
let gemini_enabled = config.service.gemini.gemini_addr.is_some(); |
|
|
|
|
let external_domains_enabled = !config.domain.external_domains.is_empty(); |
|
|
|
|
|
|
|
|
|
if https_enabled && !http_enabled { |
|
|
|
|
panic!("http is disabled, but is required by https"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if external_domains_enabled && !http_enabled { |
|
|
|
|
panic!("http is disabled, but is required by external_domains"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
let origin_store = domani::origin::git::Proxy::new(); |
|
|
|
|
|
|
|
|
|
let domain_checker = domani::domain::checker::DNSChecker::new( |
|
|
|
@ -168,12 +177,14 @@ async fn main() { |
|
|
|
|
config.domain.clone(), |
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
let _ = domani::service::http::Service::new( |
|
|
|
|
&mut task_stack, |
|
|
|
|
domain_manager.clone(), |
|
|
|
|
domani::domain::manager::HttpsCertResolver::from(domain_manager.clone()), |
|
|
|
|
config.service.clone(), |
|
|
|
|
); |
|
|
|
|
if http_enabled { |
|
|
|
|
let _ = domani::service::http::Service::new( |
|
|
|
|
&mut task_stack, |
|
|
|
|
domain_manager.clone(), |
|
|
|
|
domani::domain::manager::HttpsCertResolver::from(domain_manager.clone()), |
|
|
|
|
config.service.clone(), |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if gemini_enabled { |
|
|
|
|
let _ = domani::service::gemini::Service::new( |
|
|
|
|