macro_rules! client_config_setters {
($config:ident) => { ... };
}Expand description
Generates a client builder’s five transport setters over a
ClientConfig field: base_url, timeout_ms, pool_size,
with_retry_config and max_concurrent.
Invoke it inside the builder’s impl, naming the field that holds the
config. The builder’s build reads the config back through
ClientConfig::http_builder.
use polyoxide_core::ClientConfig;
pub struct MyBuilder {
config: ClientConfig,
}
impl MyBuilder {
polyoxide_core::client_config_setters!(config);
}
let builder = MyBuilder { config: ClientConfig::new("https://example.com", 4) }
.timeout_ms(5_000)
.max_concurrent(2);
assert_eq!(builder.config.timeout_ms, 5_000);
assert_eq!(builder.config.max_concurrent, Some(2));