use conreg_client::conf::{
ClientConfigBuilder, ConRegConfigBuilder, ConfigConfigBuilder, DiscoveryConfigBuilder,
};
use conreg_client::{AppConfig, init_with};
use rocket::data::{ByteUnit, Limits};
use rocket::{Config, get};
use std::net::IpAddr;
#[tokio::main]
async fn main() {
let config = ConRegConfigBuilder::default()
.service_id("test-server")
.client(
ClientConfigBuilder::default()
.address("127.0.0.1")
.port(8080)
.build()
.unwrap(),
)
.config(
ConfigConfigBuilder::default()
.server_addr("127.0.0.1:8000")
.namespace("public")
.config_ids(vec!["test.yaml".into(),"test_json.json".into(),"test_properties.properties".into()])
.auth_token(Some("token".to_string()))
.build()
.unwrap(),
)
.discovery(
DiscoveryConfigBuilder::default()
.server_addr(vec!["127.0.0.1:8000"])
.build()
.unwrap(),
)
.build()
.unwrap();
init_with(config).await;
let h = tokio::spawn(async move {
loop {
let name = AppConfig::get::<String>("name");
println!("name = {:?}", name);
tokio::time::sleep(std::time::Duration::from_secs(1)).await;
}
});
rocket::build()
.configure(Config {
port: 8080,
..Config::debug_default()
})
.mount("/", rocket::routes![test])
.launch()
.await
.unwrap();
}
#[get("/hello")]
fn test() -> &'static str {
"world"
}