MCPcopy Create free account
hub / github.com/cli/cli / userKeys

Function userKeys

pkg/cmd/gpg-key/list/http.go:40–81  ·  view source on GitHub ↗
(httpClient *http.Client, host, userHandle string)

Source from the content-addressed store, hash-verified

38}
39
40func userKeys(httpClient *http.Client, host, userHandle string) ([]gpgKey, error) {
41 u, err := safeurl.JoinPathWithHostPrefix(ghinstance.RESTPrefix(host), "user", "gpg_keys")
42 if err != nil {
43 return nil, err
44 }
45 if userHandle != "" {
46 u, err = safeurl.JoinPathWithHostPrefix(ghinstance.RESTPrefix(host), "users", userHandle, "gpg_keys")
47 if err != nil {
48 return nil, err
49 }
50 }
51 u.SetQuery("per_page", "100")
52 req, err := http.NewRequest("GET", u.String(), nil)
53 if err != nil {
54 return nil, err
55 }
56
57 resp, err := httpClient.Do(req)
58 if err != nil {
59 return nil, err
60 }
61 defer resp.Body.Close()
62
63 if resp.StatusCode == 404 {
64 return nil, errScopes
65 } else if resp.StatusCode > 299 {
66 return nil, api.HandleHTTPError(resp)
67 }
68
69 b, err := io.ReadAll(resp.Body)
70 if err != nil {
71 return nil, err
72 }
73
74 var keys []gpgKey
75 err = json.Unmarshal(b, &keys)
76 if err != nil {
77 return nil, err
78 }
79
80 return keys, nil
81}

Callers 1

listRunFunction · 0.85

Calls 7

JoinPathWithHostPrefixFunction · 0.92
RESTPrefixFunction · 0.92
HandleHTTPErrorFunction · 0.92
SetQueryMethod · 0.80
StringMethod · 0.65
DoMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected