downloader_http_rs/
config.rs1use reqwest::header::HeaderMap;
2use url::Url;
3pub struct Config {
4    pub save_dir: String,
6    pub file_md5: String,
7    pub url: Option<Url>,
8    pub headers: HeaderMap,
9    pub content_len: u64,
10    pub download_len: u64,
11    pub progress: u8,
12    pub chunk_size: u64,
13    pub timeout: u64,
14    pub num_workers: usize,
15    pub max_retries: u8,
16    pub debug: bool,
18    pub on_down_progress: Option<Box<dyn Fn(u8) + Send + Sync + 'static>>,
20    pub on_down_finish: Option<fn(String)>,
22}
23
24impl Default for Config {
25    fn default() -> Self {
26        Self {
27            url: None,
28            save_dir: "".to_string(),
29            file_md5: "".to_string(),
31            headers: HeaderMap::new(),
32            timeout: 0,
33            max_retries: 3,
34            num_workers: 2,
35            chunk_size: 2097152,
37            debug: false,
38            content_len: 0,
39            download_len: 0,
40            progress: 0,
41            on_down_progress: None,
42            on_down_finish: None,
43        }
44    }
45}