diff --git a/src/cache.rs b/src/cache.rs index c54b773..14d3d53 100644 --- a/src/cache.rs +++ b/src/cache.rs @@ -3,7 +3,7 @@ use glob::glob; use log::{debug, error, info, warn}; use rand::distributions::{Distribution, Uniform}; use reqwest::blocking::{Client, ClientBuilder}; -use reqwest::header::ETAG; +use reqwest::header::{ETAG, LAST_MODIFIED}; use std::default::Default; use std::env; use std::fs::{self, OpenOptions}; @@ -586,7 +586,16 @@ impl Cache { debug!("No ETAG for {}", url); Ok(None) } + } else if let Some(last_modified) = response.headers().get(LAST_MODIFIED) { + if let Ok(s) = last_modified.to_str() { + debug!("LAST-MODIFIED: {}", s); + Ok(Some(s.into())) + } else { + debug!("No LAST-MODIFIED for {}", url); + Ok(None) + } } else { + debug!("No LAST-MODIFIED for {}", url); Ok(None) } }