First, the graceless error handling is fixed in 204d34ff961d6dabf18b255decc29712e03afef0. Second, here’s a preliminary patch that almost works with . The problem is that sometimes the server closes the connection unexpectedly, leading to an obscure backtrace like this: --8<---------------cut here---------------start------------->8--- substitute: 629: 6 [lookup-narinfos "https://hydra-mirror.marusich.info" #] substitute: 585: 5 [fetch-narinfos "https://hydra-mirror.marusich.info" #] substitute: 510: 4 [http-multiple-get # ...] substitute: In web/response.scm: substitute: 197: 3 [read-response #] substitute: In web/http.scm: substitute: 1157: 2 [read-response-line #] substitute: 151: 1 [read-header-line #] substitute: In unknown file: substitute: ?: 0 [%read-line #] substitute: substitute: ERROR: In procedure %read-line: substitute: ERROR: Throw to key `gnutls-error' with args `(# fill_session_record_port_input)'. --8<---------------cut here---------------end--------------->8--- The “error in the pull function” is because ‘gnutls_record_recv’ got ECONNRESET while reading. I wonder whether this could be due to the particular configuration of nginx at Cloudfront, so I’ll try with another server (I’ve set up Let’s Encrypt on that server but it’s not accessible yet via port 443.) To be continued! Ludo’.