diff --git a/src/downloader/downloader.rs b/src/downloader/downloader.rs index 5c61121..da730e1 100644 --- a/src/downloader/downloader.rs +++ b/src/downloader/downloader.rs @@ -99,7 +99,7 @@ impl Downloader { None => { None } }; Ok(DownloaderResult::Ok(Self { - client: Arc::new(WebClient::new()), + client: Arc::new(WebClient::default()), pd: Arc::new(pd_file), url: Arc::new(url.into_url()?), headers: Arc::new(h), diff --git a/src/pixiv_web.rs b/src/pixiv_web.rs index 2e876d4..d70351e 100644 --- a/src/pixiv_web.rs +++ b/src/pixiv_web.rs @@ -30,7 +30,7 @@ pub struct PixivWebClient { impl PixivWebClient { pub fn new() -> Self { Self { - client: WebClient::new(), + client: WebClient::default(), inited: Arc::new(AtomicBool::new(false)), data: RwLock::new(None), params: RwLock::new(None), @@ -88,12 +88,6 @@ impl PixivWebClient { self.client.set_header("Accept-Language", "ja"); self.params.get_mut().replace(json::object! { "lang": "ja" }); } - self.client.set_verbose(helper.verbose()); - let retry = helper.retry(); - if retry.is_some() { - self.client.set_retry(retry.unwrap()); - } - self.client.get_retry_interval_as_mut().replace(helper.retry_interval()); self.inited.store(true, Ordering::Relaxed); true } diff --git a/src/webclient.rs b/src/webclient.rs index 9f23044..d45faf5 100644 --- a/src/webclient.rs +++ b/src/webclient.rs @@ -103,6 +103,8 @@ pub struct WebClient { impl WebClient { /// Create a new instance of client + /// + /// This function will not handle any basic options, please use [Self::default()] instead. pub fn new() -> Self { Self { client: Client::new(), @@ -620,6 +622,13 @@ impl WebClient { impl Default for WebClient { fn default() -> Self { let c = Self::new(); + let opt = get_helper(); + c.set_verbose(opt.verbose()); + match opt.retry() { + Some(retry) => { c.set_retry(retry) } + None => {} + } + c.get_retry_interval_as_mut().replace(opt.retry_interval()); c } }