diff --git a/src/client/mod.rs b/src/client/mod.rs index 251157e..d76f5b5 100644 --- a/src/client/mod.rs +++ b/src/client/mod.rs @@ -389,21 +389,17 @@ impl RustyPipeBuilder { Box::new(FileStorage::new(cache_file)) }); - let cdata = if let Some(storage) = &storage { - if let Some(data) = storage.read() { - match serde_json::from_str::(&data) { - Ok(data) => data, - Err(e) => { - log::error!("Could not deserialize cache. Error: {}", e); - CacheData::default() - } + let cdata = storage + .as_ref() + .and_then(|storage| storage.read()) + .and_then(|data| match serde_json::from_str::(&data) { + Ok(data) => Some(data), + Err(e) => { + log::error!("Could not deserialize cache. Error: {}", e); + None } - } else { - CacheData::default() - } - } else { - CacheData::default() - }; + }) + .unwrap_or_default(); RustyPipe { inner: Arc::new(RustyPipeRef {