use crate::config::AppConfig; use crate::error::AppResult; impl AppConfig { pub fn rpc_self_host(&self) -> AppResult { self.get_env_or("APP_RPC_SELF_HOST", "0.0.0.0".to_string()) } pub fn rpc_self_port(&self) -> AppResult { self.get_env_or("APP_RPC_SELF_PORT", 50050u16) } pub fn rpc_self_listen_addr(&self) -> AppResult { let host = self.rpc_self_host()?; let port = self.rpc_self_port()?; Ok(format!("{host}:{port}")) } pub fn rpc_self_reflection(&self) -> AppResult { self.get_env_or("APP_RPC_SELF_REFLECTION", false) } pub fn rpc_self_service_name(&self) -> AppResult { self.get_env_or("APP_RPC_SELF_SERVICE_NAME", "appks".to_string()) } pub fn rpc_default_timeout_secs(&self) -> AppResult { self.get_env_or("APP_RPC_DEFAULT_TIMEOUT_SECS", 10) } }