MCPcopy Index your code
hub / github.com/cli/cli / userKeys

Function userKeys

pkg/cmd/gpg-key/list/http.go:40–75  ·  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 resource := "user/gpg_keys"
42 if userHandle != "" {
43 resource = fmt.Sprintf("users/%s/gpg_keys", userHandle)
44 }
45 url := fmt.Sprintf("%s%s?per_page=%d", ghinstance.RESTPrefix(host), resource, 100)
46 req, err := http.NewRequest("GET", url, nil)
47 if err != nil {
48 return nil, err
49 }
50
51 resp, err := httpClient.Do(req)
52 if err != nil {
53 return nil, err
54 }
55 defer resp.Body.Close()
56
57 if resp.StatusCode == 404 {
58 return nil, errScopes
59 } else if resp.StatusCode > 299 {
60 return nil, api.HandleHTTPError(resp)
61 }
62
63 b, err := io.ReadAll(resp.Body)
64 if err != nil {
65 return nil, err
66 }
67
68 var keys []gpgKey
69 err = json.Unmarshal(b, &keys)
70 if err != nil {
71 return nil, err
72 }
73
74 return keys, nil
75}

Callers 1

listRunFunction · 0.85

Calls 4

RESTPrefixFunction · 0.92
HandleHTTPErrorFunction · 0.92
DoMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected