From 3ce1b9021a1244063bf800e9d68763f12234edd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 19 Sep 2017 11:49:29 +0200 Subject: http-client: 'http-client/cached' uses 'If-Modified-Since'. * guix/http-client.scm (http-fetch/cached)[update-cache]: Add 'cache-port' parameter. Check its mtime and compute 'if-modified-since' header accordingly. Guard 'http-get-error?' and honor 304. Adjust callers of 'update-cache'. * guix/gnu-maintenance.scm (ftp.gnu.org-files): Set #:ttl to 15m. --- guix/gnu-maintenance.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'guix/gnu-maintenance.scm') diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index 62f817347f..796c2d6569 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -454,7 +454,9 @@ hosted on ftp.gnu.org, or not under that name (this is the case for (define (string->lines str) (string-tokenize str (char-set-complement (char-set #\newline)))) - (let ((port (http-fetch/cached %gnu-file-list-uri #:ttl (* 60 60)))) + ;; Since https://ftp.gnu.org honors 'If-Modified-Since', the hard-coded + ;; TTL can be relatively short. + (let ((port (http-fetch/cached %gnu-file-list-uri #:ttl (* 15 60)))) (map trim-leading-components (call-with-gzip-input-port port (compose string->lines get-string-all)))))) -- cgit v1.2.3