substitute: Gracefully handle trailing slashes in URLs. Previously, using something like "--substitute-urls=http://example.org///" would lead to a 'cache-narinfo!' call with #f as its second argument. It would also do the wrong thing for URLs with a non-empty initial path component, such as "http://example.org/foo/bar". * guix/scripts/substitute.scm (fetch-narinfos)[handle-narinfo-response]: Add call to 'basename' for PATH.
1 files changed, 2 insertions(+), 1 deletions(-) M guix/scripts/substitute.scm
M guix/scripts/substitute.scm => guix/scripts/substitute.scm +2 -1
@@ 610,7 610,8 @@ if file doesn't exist, and the narinfo otherwise." (update-progress!) (cons narinfo result)) (let* ((path (uri-path (request-uri request))) (hash-part (string-drop-right path 8))) ; drop ".narinfo" (hash-part (basename (string-drop-right path 8)))) ;drop ".narinfo" (if len (get-bytevector-n port len) (read-to-eof port))