use std::time::Duration;
pub fn main() -> eppo::Result<()> {
env_logger::Builder::from_env(env_logger::Env::new().default_filter_or("eppo")).init();
let api_key =
std::env::var("EPPO_API_KEY").expect("EPPO_API_KEY env variable should contain API key");
let mut client = eppo::ClientConfig::from_api_key(api_key)
.assignment_logger(|event| {
println!("Logging assignment event: {:?}", event);
})
.to_client();
let poller = client.start_poller_thread()?;
if let Err(err) = poller.wait_for_configuration_timeout(Duration::from_secs(5)) {
println!("error requesting configuration: {:?}", err);
}
let assignment = client
.get_boolean_assignment(
"a-boolean-flag",
&"test-subject".into(),
&Default::default(),
)
.unwrap_or_default()
.unwrap_or(false);
println!("Assignment: {:?}", assignment);
Ok(())
}