use schemars::JsonSchema;
use serde::Deserialize;
use crate::plugins::traffic_shaping::Http2Config;
#[derive(PartialEq, Debug, Clone, Default, Deserialize, JsonSchema, buildstructor::Builder)]
#[serde(deny_unknown_fields, default)]
pub(crate) struct Client {
pub(crate) experimental_http2: Option<Http2Config>,
pub(crate) dns_resolution_strategy: Option<DnsResolutionStrategy>,
}
#[derive(PartialEq, Default, Debug, Clone, Copy, Deserialize, JsonSchema)]
#[serde(rename_all = "snake_case")]
pub(crate) enum DnsResolutionStrategy {
Ipv4Only,
Ipv6Only,
Ipv4AndIpv6,
Ipv6ThenIpv4,
#[default]
Ipv4ThenIpv6,
}