[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#51441] [PATCH] substitutes: keep base's uri-path for Properly const
From: |
Peng Mei Yu |
Subject: |
[bug#51441] [PATCH] substitutes: keep base's uri-path for Properly construct URL. |
Date: |
Fri, 29 Oct 2021 12:18:52 +0800 |
Hi,
Z572 via Guix-patches via writes:
> @@ -158,7 +159,8 @@ (define (narinfo-request cache-url path)
> "Return an HTTP request for the narinfo of PATH at CACHE-URL."
> (let* ((base (string->uri cache-url))
> (ref (build-relative-ref
> - #:path (string-append (store-path-hash-part path)
> ".narinfo")))
> + #:path (string-append (uri-path base) "/"
> + (store-path-hash-part path)
> ".narinfo")))
> (url (resolve-uri-reference ref base))
> (headers '((User-Agent . "GNU Guile"))))
> (build-request url #:method 'GET #:headers headers)))
> --
It seems that the root cause for the problem is that cache-url lacks a
trailing slash. Therefore the last path component is stripped from
`base` when we compute (resolve-uri-reference ref base). So I think
ensuring cache-url ends with a slash ("/") is a better approach.
--
Peng Mei Yu