mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
swh: Allows token from Software Heritage authentication service.
The token is provided using the environment variable GUIX_SWH_TOKEN. * guix/swh.scm (%swh-token): New variable. (call): Use it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
bd61d62182
commit
498cd9bcdb
1 changed files with 11 additions and 0 deletions
11
guix/swh.scm
11
guix/swh.scm
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -136,6 +137,12 @@ (define %verify-swh-certificate?
|
|||
;; Whether to verify the X.509 HTTPS certificate for %SWH-BASE-URL.
|
||||
(make-parameter #t))
|
||||
|
||||
;; Token from an account to the Software Heritage Authentication service
|
||||
;; <https://archive.softwareheritage.org/api/>
|
||||
(define %swh-token
|
||||
(make-parameter (and=> (getenv "GUIX_SWH_TOKEN")
|
||||
string->symbol)))
|
||||
|
||||
(define (swh-url path . rest)
|
||||
;; URLs returned by the API may be relative or absolute. This has changed
|
||||
;; without notice before. Handle both cases by detecting whether the path
|
||||
|
@ -246,6 +253,10 @@ (define* (call url decode #:optional (method http-get*)
|
|||
(and ((%allow-request?) url method)
|
||||
(let*-values (((response port)
|
||||
(method url #:streaming? #t
|
||||
#:headers
|
||||
(if (%swh-token)
|
||||
`((authorization . (Bearer ,(%swh-token))))
|
||||
'())
|
||||
#:verify-certificate?
|
||||
(%verify-swh-certificate?))))
|
||||
;; See <https://archive.softwareheritage.org/api/#rate-limiting>.
|
||||
|
|
Loading…
Reference in a new issue