pub struct FetchPolicy {
pub allowed_domains: Option<Vec<DomainPattern>>,
pub blocked_domains: Vec<DomainPattern>,
pub deny_private_ips: bool,
pub allowed_methods: Vec<String>,
pub allowed_schemes: Vec<String>,
pub max_request_body_bytes: usize,
pub max_response_body_bytes: usize,
pub connect_timeout_ms: u64,
pub request_timeout_ms: u64,
pub max_redirects: u8,
pub max_concurrent_requests: usize,
pub max_requests_per_minute: u32,
}Expand description
Controls every aspect of what the safe HTTP client is allowed to do.
Fields§
§allowed_domains: Option<Vec<DomainPattern>>If Some, only these domains may be fetched. If None, all public domains are allowed.
blocked_domains: Vec<DomainPattern>Domains that are always rejected (checked before allowed_domains).
deny_private_ips: boolBlock requests that resolve to private/internal IPs (default: true).
allowed_methods: Vec<String>Allowed HTTP methods (default: common methods).
allowed_schemes: Vec<String>Allowed URL schemes (default: [“https”, “http”]).
max_request_body_bytes: usizeMax request body size in bytes (default: 10 MB).
max_response_body_bytes: usizeMax response body size in bytes (default: 50 MB).
connect_timeout_ms: u64TCP connect timeout in milliseconds (default: 10 000).
request_timeout_ms: u64Overall request timeout in milliseconds (default: 30 000).
max_redirects: u8Maximum number of redirects to follow (default: 10).
max_concurrent_requests: usizeMaximum number of concurrent in-flight requests (default: 50).
max_requests_per_minute: u32Maximum requests per minute globally (default: 500).
Implementations§
Source§impl FetchPolicy
impl FetchPolicy
Sourcepub fn check_domain(&self, domain: &str) -> Result<(), FetchError>
pub fn check_domain(&self, domain: &str) -> Result<(), FetchError>
Check domain against blocked list, then allowed list.
pub fn check_scheme(&self, scheme: &str) -> Result<(), FetchError>
pub fn check_method(&self, method: &str) -> Result<(), FetchError>
Trait Implementations§
Source§impl Clone for FetchPolicy
impl Clone for FetchPolicy
Source§fn clone(&self) -> FetchPolicy
fn clone(&self) -> FetchPolicy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more