summary refs log tree commit diff
path: root/gnu/system
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2021-02-13 11:06:37 +0000
committerChristopher Baines <mail@cbaines.net>2021-02-22 20:43:12 +0000
commit20c08a8a45d0f137ead7c05e720456b2aea44402 (patch)
treeac86cb6bca341da57c2a14a4688f221397f9ba2a /gnu/system
parent187e97096825d2bcceb144cead6eccc27385acd7 (diff)
downloadguix-20c08a8a45d0f137ead7c05e720456b2aea44402.tar.gz
substitute: Rework connection error handling.
This is part of trying to reduce the interdependency of code within the
substitute module.

This commit addresses some of the error handling that was performed through
open-connection-for-uri/maybe. The new approach is to use
call-with-connection-error-handling, and wrap calls to http-multiple-get and
http-fetch with that procedure, which takes care of handling connection
errors.

I think this is even slightly more rigerous than the previous setup, because
this approach handles connection errors that occur when http-multiple-get
reconnects to a host.

* guix/scripts/substitute.scm (open-connection-for-uri/maybe): Transform in to
call-with-connection-error-handling.
(fetch-narinfos): Use call-with-connection-error-handling.
(process-query): Replace open-connection-for-uri/maybe with
open-connection-for-uri/cached.
(open-connection-for-uri/cached): Set a default timeout, matching the
behaviour in open-connection-for-uri/maybe.
(process-substitution): Use call-with-connection-error-handling.
Diffstat (limited to 'gnu/system')
0 files changed, 0 insertions, 0 deletions