diff options
Diffstat (limited to 'guix/substitutes.scm')
-rw-r--r-- | guix/substitutes.scm | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/guix/substitutes.scm b/guix/substitutes.scm index 08f8c24efd..55daa6c964 100644 --- a/guix/substitutes.scm +++ b/guix/substitutes.scm @@ -70,14 +70,6 @@ ;; 'Cache-Control' response header. (* 36 3600)) -(define %narinfo-negative-ttl - ;; Likewise, but for negative lookups---i.e., cached lookup failures (404). - (* 1 3600)) - -(define %narinfo-transient-error-ttl - ;; Likewise, but for transient errors such as 504 ("Gateway timeout"). - (* 10 60)) - (define %narinfo-cache-directory ;; A local cache of narinfos, to avoid going to the network. Most of the ;; time, 'guix substitute' is called by guix-daemon as root and stores its @@ -104,8 +96,7 @@ entry is stored in a sub-directory specific to CACHE-URL." (define (cache-narinfo! cache-url path narinfo ttl) "Cache locally NARNIFO for PATH, which originates from CACHE-URL, with the -given TTL (a number of seconds or #f). NARINFO may be #f, in which case it -indicates that PATH is unavailable at CACHE-URL." +given TTL (a number of seconds or #f)." (define now (current-time time-monotonic)) @@ -113,8 +104,7 @@ indicates that PATH is unavailable at CACHE-URL." `(narinfo (version 2) (cache-uri ,cache-uri) (date ,(time-second now)) - (ttl ,(or ttl - (if narinfo %narinfo-ttl %narinfo-negative-ttl))) + (ttl ,(or ttl %narinfo-ttl)) (value ,(and=> narinfo narinfo->string)))) (let ((file (narinfo-cache-file cache-url path))) @@ -214,16 +204,10 @@ if file doesn't exist, and the narinfo otherwise." (cache-narinfo! url (narinfo-path narinfo) narinfo ttl) (cons narinfo result)) result)) - (let* ((path (uri-path (request-uri request))) - (hash-part (basename - (string-drop-right path 8)))) ;drop ".narinfo" + (begin (if len (get-bytevector-n port len) (read-to-eof port)) - (cache-narinfo! url (hash-part->path hash-part) #f - (if (or (= 404 code) (= 202 code)) - ttl - %narinfo-transient-error-ttl)) result)))) (define (do-fetch uri) |