use http;
use std::time::Duration;
#[derive(Clone, Debug, Withers)]
pub struct Options {
pub redirect_policy: RedirectPolicy,
pub preferred_http_version: Option<http::Version>,
pub timeout: Option<Duration>,
pub connect_timeout: Duration,
pub tcp_keepalive: Option<Duration>,
pub tcp_nodelay: bool,
pub buffer_size: usize,
pub auto_referer: bool,
pub proxy: Option<http::Uri>,
pub max_upload_speed: Option<u64>,
pub max_download_speed: Option<u64>,
}
impl Default for Options {
fn default() -> Self {
Self {
redirect_policy: RedirectPolicy::default(),
preferred_http_version: None,
timeout: None,
connect_timeout: Duration::from_secs(300),
tcp_keepalive: None,
tcp_nodelay: false,
buffer_size: 8192,
auto_referer: false,
proxy: None,
max_upload_speed: None,
max_download_speed: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum RedirectPolicy {
None,
Follow,
Limit(u32),
}
impl Default for RedirectPolicy {
fn default() -> Self {
RedirectPolicy::None
}
}