summaryrefslogtreecommitdiff
path: root/guix/http-client.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/http-client.scm')
-rw-r--r--guix/http-client.scm9
1 files changed, 6 insertions, 3 deletions
diff --git a/guix/http-client.scm b/guix/http-client.scm
index bee8cdc834..eb2c3f4d5f 100644
--- a/guix/http-client.scm
+++ b/guix/http-client.scm
@@ -35,7 +35,8 @@
#:use-module ((guix build utils)
#:select (mkdir-p dump-port))
#:use-module ((guix build download)
- #:select (open-socket-for-uri resolve-uri-reference))
+ #:select (open-socket-for-uri
+ open-connection-for-uri resolve-uri-reference))
#:re-export (open-socket-for-uri)
#:export (&http-get-error
http-get-error?
@@ -206,8 +207,10 @@ textual. Follow any HTTP redirection. When BUFFERED? is #f, return an
unbuffered port, suitable for use in `filtered-port'.
Raise an '&http-get-error' condition if downloading fails."
- (let loop ((uri uri))
- (let ((port (or port (open-socket-for-uri uri))))
+ (let loop ((uri (if (string? uri)
+ (string->uri uri)
+ uri)))
+ (let ((port (or port (open-connection-for-uri uri))))
(unless buffered?
(setvbuf port _IONBF))
(let*-values (((resp data)