Function: ghub-response-link-relations
ghub-response-link-relations is a byte-compiled function defined in
ghub.el.
Signature
(ghub-response-link-relations REQ &optional HEADERS PAYLOAD)
Documentation
Return an alist of link relations in HEADERS.
If optional HEADERS is nil, then return those that were
previously stored in the variable ghub-response-headers.
When accessing a Bitbucket instance then the link relations
are in PAYLOAD instead of HEADERS, making their API merely
RESTish and forcing this function to append those relations
to the value of ghub-response-headers, for later use when
this function is called with nil for PAYLOAD.
Source Code
;; Defined in ~/.emacs.d/elpa/ghub-20260401.1239/ghub.el
(defun ghub-response-link-relations (req &optional headers payload)
"Return an alist of link relations in HEADERS.
If optional HEADERS is nil, then return those that were
previously stored in the variable `ghub-response-headers'.
When accessing a Bitbucket instance then the link relations
are in PAYLOAD instead of HEADERS, making their API merely
RESTish and forcing this function to append those relations
to the value of `ghub-response-headers', for later use when
this function is called with nil for PAYLOAD."
(if (eq (ghub--req-forge req) 'bitbucket)
(if payload
(let* ((page (seq-keep (##assq % payload)
'(size page pagelen next previous)))
(headers (cons (cons 'link-alist page) headers)))
(if (and req (or (ghub--req-callback req)
(ghub--req-errorback req)))
(setq-local ghub-response-headers headers)
(setq-default ghub-response-headers headers))
page)
(cdr (assq 'link-alist ghub-response-headers)))
(and-let* ((headers (or headers ghub-response-headers))
(rels (cdr (or (assoc "Link" headers)
(assoc "link" headers)))))
(mapcar (lambda (elt)
(pcase-let ((`(,url ,rel) (split-string elt "; ")))
(cons (intern (substring rel 5 -1))
(substring url 1 -1))))
(split-string rels ", ?")))))