From 06acf6b52f553efedf4aa95637f198b0cc806a5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 26 Sep 2017 00:32:12 +0200 Subject: [PATCH] http-client: Reset cache TTL upon 304 "Not Modified" responses. * guix/http-client.scm (http-fetch/cached)[update-cache]: Add call to 'utime' in the 304 case. --- guix/http-client.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/guix/http-client.scm b/guix/http-client.scm index 853bba4fe3..59788c1f38 100644 --- a/guix/http-client.scm +++ b/guix/http-client.scm @@ -321,7 +321,9 @@ Raise an '&http-get-error' condition if downloading fails." ;; Update the cache and return an input port. (guard (c ((http-get-error? c) (if (= 304 (http-get-error-code c)) ;"Not Modified" - cache-port + (begin + (utime file) ;update FILE's mtime + cache-port) (raise c)))) (let ((port (http-fetch uri #:text? text? #:headers headers)))