guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/02: import: github: Use HTTP "Authorization" header for access tokens


From: guix-commits
Subject: 01/02: import: github: Use HTTP "Authorization" header for access tokens.
Date: Sat, 22 Feb 2020 06:18:59 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 3d1e42321f091b815835e28b54b37b7e9c79b9bb
Author: Matt Wette <address@hidden>
AuthorDate: Sat Feb 22 11:48:29 2020 +0100

    import: github: Use HTTP "Authorization" header for access tokens.
    
    Fixes <https://bugs.gnu.org/39511>.
    
    The "access_token" query parameter is now deprecated:
    
      
https://developer.github.com/changes/2019-11-05-deprecated-passwords-and-authorizations-api/#authenticating-using-query-parameters
    
    * guix/import/github.scm (fetch-releases-or-tags)[headers]: Add
    "Authorization" header when (%github-token) is true.
    [decorate]: Remove, and remove callers.
---
 guix/import/github.scm | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/guix/import/github.scm b/guix/import/github.scm
index df5f6ff..7136e7a 100644
--- a/guix/import/github.scm
+++ b/guix/import/github.scm
@@ -154,18 +154,16 @@ empty list."
     ;; Ask for version 3 of the API as suggested at
     ;; <https://developer.github.com/v3/>.
     `((Accept . "application/vnd.github.v3+json")
-      (user-agent . "GNU Guile")))
+      (user-agent . "GNU Guile")
+      ,@(if (%github-token)
+            `((Authorization . ,(string-append "token " (%github-token))))
+            '())))
 
-  (define (decorate url)
-    (if (%github-token)
-        (string-append url "?access_token=" (%github-token))
-        url))
-
-  (match (json-fetch (decorate release-url) #:headers headers)
+  (match (json-fetch release-url #:headers headers)
     (#()
      ;; We got the empty list, presumably because the user didn't use GitHub's
      ;; "release" mechanism, but hopefully they did use Git tags.
-     (json-fetch (decorate tag-url) #:headers headers))
+     (json-fetch tag-url #:headers headers))
     (x x)))
 
 (define (latest-released-version url package-name)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]