Subject: [bug#45409] [PATCH v4 09/13] substitute: Change connection cache handling in process-substitution.

From: Christopher Baines <[email-masked]>
Date: Sat, 16 Jan 2021 13:57:59 +0000

Just pass open-connection-for-uri/maybe to http-fetch, this removes the need
for with-cached-connection and passing the port in.

* guix/scripts/substitute.scm (fetch): Don't take a port as an argument, and
pass open-connection-for-uri/maybe to http-fetch.
(process-substitution): Don't call fetch with with-cached-connection.
---
 guix/scripts/substitute.scm | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm
index 88219ea7f6..fc5a19124e 100755
--- a/guix/scripts/substitute.scm
+++ b/guix/scripts/substitute.scm
@@ -170,7 +170,7 @@ again."
         (apply values result)))))
 
 (define* (fetch uri #:key (buffered? #t) (timeout? #t)
-                (keep-alive? #f) (port #f))
+                (keep-alive? #f))
   "Return a binary input port to URI and the number of bytes it's expected to
 provide.
 
@@ -199,7 +199,8 @@ connection (typically PORT) is kept open once data has been fetched from URI."
            (warning (G_ "while fetching ~a: server is somewhat slow~%")
                     (uri->string uri))
            (warning (G_ "try `--no-substitutes' if the problem persists~%")))
-         (http-fetch uri #:text? #f #:port port
+         (http-fetch uri #:text? #f
+                     #:open-connection open-connection-for-uri/maybe
                      #:keep-alive? keep-alive?
                      #:buffered? buffered?
                      #:verify-certificate? #f))))
@@ -751,10 +752,8 @@ the current output port."
     (let*-values (((raw download-size)
                    ;; 'guix publish' without '--cache' doesn't specify a
                    ;; Content-Length, so DOWNLOAD-SIZE is #f in this case.
-                   (with-cached-connection uri port
-                     (fetch uri #:buffered? #f #:timeout? #f
-                            #:port port
-                            #:keep-alive? #t)))
+                   (fetch uri #:buffered? #f #:timeout? #f
+                          #:keep-alive? #t))
                   ((progress)
                    (let* ((dl-size  (or download-size
                                         (and (equal? compression "none")
-- 
2.30.0