pub struct NetworkRestrictions {
pub block_all: bool,
pub allowed_domains: Vec<String>,
pub allowed_ips: Vec<IpAddr>,
pub https_only: bool,
pub block_private_ips: bool,
pub block_localhost: bool,
pub max_requests: usize,
}Expand description
Network access restrictions configuration
Fields§
§block_all: boolBlock all network access
allowed_domains: Vec<String>Allowed domains (empty = deny all if block_all is false)
allowed_ips: Vec<IpAddr>Allowed IP addresses
https_only: boolRequire HTTPS only (no HTTP)
block_private_ips: boolBlock private IP ranges (RFC1918)
block_localhost: boolBlock localhost
max_requests: usizeMaximum number of requests
Implementations§
Source§impl NetworkRestrictions
impl NetworkRestrictions
Sourcepub fn allow_domains(domains: Vec<String>) -> Self
pub fn allow_domains(domains: Vec<String>) -> Self
Create an allow-specific configuration
Sourcepub fn validate_url(&self, url: &str) -> Result<()>
pub fn validate_url(&self, url: &str) -> Result<()>
Validate a URL for network access
§Security
This method checks:
- If network access is allowed at all
- Protocol (HTTP vs HTTPS)
- Domain/hostname against whitelist
- IP address restrictions
Sourcepub fn validate_domain(&self, domain: &str) -> Result<()>
pub fn validate_domain(&self, domain: &str) -> Result<()>
Validate a domain name for network access
Trait Implementations§
Source§impl Clone for NetworkRestrictions
impl Clone for NetworkRestrictions
Source§fn clone(&self) -> NetworkRestrictions
fn clone(&self) -> NetworkRestrictions
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 NetworkRestrictions
impl Debug for NetworkRestrictions
Auto Trait Implementations§
impl Freeze for NetworkRestrictions
impl RefUnwindSafe for NetworkRestrictions
impl Send for NetworkRestrictions
impl Sync for NetworkRestrictions
impl Unpin for NetworkRestrictions
impl UnsafeUnpin for NetworkRestrictions
impl UnwindSafe for NetworkRestrictions
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.