pub struct ProxyCapabilities {
pub supports_https_connect: bool,
pub supports_socks5_udp: bool,
pub supports_http3_tunnel: bool,
pub geo_country: Option<String>,
pub geo_confidence: Option<f32>,
}Expand description
Protocol-level capabilities advertised by a proxy endpoint.
These flags are set when the proxy is registered and consulted during
capability-aware selection (see crate::manager::ProxyManager::acquire_with_capabilities).
§Example
use stygian_proxy::types::ProxyCapabilities;
let caps = ProxyCapabilities::default();
assert!(!caps.supports_https_connect);
assert!(!caps.supports_socks5_udp);
assert!(!caps.supports_http3_tunnel);Fields§
§supports_https_connect: boolProxy supports the CONNECT method for HTTPS tunnelling.
supports_socks5_udp: boolProxy supports SOCKS5 with UDP relay (for UDP-based transports).
supports_http3_tunnel: boolProxy supports HTTP/3 (QUIC) tunnelling — future-compatible flag.
geo_country: Option<String>Optional ISO-3166-1 alpha-2 country code for the proxy egress location.
geo_confidence: Option<f32>Confidence score [0.0, 1.0] for the geo-location data.
None means the provider did not supply confidence metadata.
Implementations§
Source§impl ProxyCapabilities
impl ProxyCapabilities
Sourcepub fn satisfies(&self, req: &CapabilityRequirement) -> bool
pub fn satisfies(&self, req: &CapabilityRequirement) -> bool
Returns true if every required flag in req is satisfied by self.
§Example
use stygian_proxy::types::{ProxyCapabilities, CapabilityRequirement};
let caps = ProxyCapabilities { supports_https_connect: true, ..Default::default() };
let req = CapabilityRequirement { require_https_connect: true, ..Default::default() };
assert!(caps.satisfies(&req));
let req2 = CapabilityRequirement { require_socks5_udp: true, ..Default::default() };
assert!(!caps.satisfies(&req2));Trait Implementations§
Source§impl Clone for ProxyCapabilities
impl Clone for ProxyCapabilities
Source§fn clone(&self) -> ProxyCapabilities
fn clone(&self) -> ProxyCapabilities
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProxyCapabilities
impl Debug for ProxyCapabilities
Source§impl Default for ProxyCapabilities
impl Default for ProxyCapabilities
Source§fn default() -> ProxyCapabilities
fn default() -> ProxyCapabilities
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for ProxyCapabilities
impl<'de> Deserialize<'de> for ProxyCapabilities
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ProxyCapabilities
impl PartialEq for ProxyCapabilities
Source§impl Serialize for ProxyCapabilities
impl Serialize for ProxyCapabilities
impl StructuralPartialEq for ProxyCapabilities
Auto Trait Implementations§
impl Freeze for ProxyCapabilities
impl RefUnwindSafe for ProxyCapabilities
impl Send for ProxyCapabilities
impl Sync for ProxyCapabilities
impl Unpin for ProxyCapabilities
impl UnsafeUnpin for ProxyCapabilities
impl UnwindSafe for ProxyCapabilities
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more