add redis config
This commit is contained in:
parent
3079e602c8
commit
a4c5009947
@ -17,6 +17,9 @@ enum Subcommand {
|
||||
listen_address: String,
|
||||
#[clap(long, short = 'p', default_value = "3000", env)]
|
||||
listen_port: u16,
|
||||
|
||||
#[clap(long, default_value = "redis://127.0.0.1", env)]
|
||||
redis_addr: String,
|
||||
},
|
||||
|
||||
#[cfg(feature = "extract-static")]
|
||||
@ -28,6 +31,7 @@ impl Default for Subcommand {
|
||||
Subcommand::Serve {
|
||||
listen_address: "127.0.0.1".into(),
|
||||
listen_port: 3000,
|
||||
redis_addr: String::from("redis://127.0.0.1")
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -42,12 +46,15 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
Subcommand::Serve {
|
||||
listen_address,
|
||||
listen_port,
|
||||
redis_addr,
|
||||
} => {
|
||||
let addrs: Vec<_> = (listen_address.as_str(), listen_port)
|
||||
.to_socket_addrs()?
|
||||
.collect();
|
||||
|
||||
let service = chat_signaling_server::web::routes::make_service()?;
|
||||
let service = chat_signaling_server::web::routes::make_service(Some(chat_signaling_server::web::routes::Config{
|
||||
redis_addr,
|
||||
}))?;
|
||||
|
||||
let mut futures =
|
||||
futures::stream::FuturesUnordered::from_iter(addrs.iter().map(|addr| async {
|
||||
|
@ -50,7 +50,21 @@ async fn reload(State(state): State<Arc<RwLock<AppState>>>) -> Json<ReloadResult
|
||||
Json(ReloadResult::default())
|
||||
}
|
||||
|
||||
pub fn make_service() -> Result<IntoMakeService<Router<()>>, Box<dyn std::error::Error>> {
|
||||
pub struct Config {
|
||||
pub redis_addr: String,
|
||||
}
|
||||
|
||||
impl Default for Config {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
redis_addr: String::from("redis://127.0.0.1")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
pub fn make_service(config: Option<Config>) -> Result<IntoMakeService<Router<()>>, Box<dyn std::error::Error>> {
|
||||
let config = config.unwrap_or_default();
|
||||
let templates = load_templates()?;
|
||||
|
||||
let router = Router::new();
|
||||
@ -58,7 +72,7 @@ pub fn make_service() -> Result<IntoMakeService<Router<()>>, Box<dyn std::error:
|
||||
#[cfg(feature = "serve-static")]
|
||||
let router = router.route_service("/static/*path", staticfiles::StaticFiles::strip("/static/"));
|
||||
|
||||
let redis = redis::Client::open("redis://127.0.0.1")?;
|
||||
let redis = redis::Client::open(config.redis_addr)?;
|
||||
|
||||
let grpc_service = tonic_web::enable(signaling::signaling_server::SignalingServer::new(
|
||||
GrpcSignalingService {
|
||||
|
Loading…
x
Reference in New Issue
Block a user