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}