From ccac88c1d1d6aec8f572e0a07fb57635ebdd4a80 Mon Sep 17 00:00:00 2001 From: Daniel Hecker Date: Wed, 7 Apr 2021 21:55:26 +0200 Subject: [PATCH 1/2] use LAST-MODIFIED as ETAG, when ETAG is missing --- src/cache.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/cache.rs b/src/cache.rs index c54b773..1032db1 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}; @@ -587,7 +587,18 @@ impl Cache { Ok(None) } } else { - Ok(None) + 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) + } } } From 2762ec197c4835008c25b8ebb9ae443a17c31875 Mon Sep 17 00:00:00 2001 From: Daniel Hecker Date: Wed, 7 Apr 2021 22:14:10 +0200 Subject: [PATCH 2/2] collapse else --- src/cache.rs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/cache.rs b/src/cache.rs index 1032db1..14d3d53 100644 --- a/src/cache.rs +++ b/src/cache.rs @@ -586,19 +586,17 @@ 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 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) } }