use crate::app::proxy::ProxyApp;
use pingora_core::listeners::Listeners;
use pingora_core::services::listening::Service;
use pingora_core::upstreams::peer::BasicPeer;
pub fn proxy_service(addr: &str, proxy_addr: &str) -> Service<ProxyApp> {
let proxy_to = BasicPeer::new(proxy_addr);
Service::with_listeners(
"Proxy Service".to_string(),
Listeners::tcp(addr),
ProxyApp::new(proxy_to),
)
}
pub fn proxy_service_tls(
addr: &str,
proxy_addr: &str,
proxy_sni: &str,
cert_path: &str,
key_path: &str,
) -> Service<ProxyApp> {
let mut proxy_to = BasicPeer::new(proxy_addr);
proxy_to.sni = proxy_sni.into();
Service::with_listeners(
"Proxy Service TLS".to_string(),
Listeners::tls(addr, cert_path, key_path).unwrap(),
ProxyApp::new(proxy_to),
)
}