MCPcopy
hub / github.com/apache/devlake / do

Method do

backend/plugins/github/token/refresh_api_client.go:76–115  ·  view source on GitHub ↗
(method, path string, query url.Values, body interface{}, headers http.Header)

Source from the content-addressed store, hash-verified

74}
75
76func (c *refreshApiClient) do(method, path string, query url.Values, body interface{}, headers http.Header) (*http.Response, errors.Error) {
77 uri, err := api.GetURIStringPointer(c.endpoint, path, query)
78 if err != nil {
79 return nil, err
80 }
81
82 var reqBody *bytes.Reader
83 if body != nil {
84 payload, err := json.Marshal(body)
85 if err != nil {
86 return nil, errors.Convert(err)
87 }
88 reqBody = bytes.NewReader(payload)
89 } else {
90 reqBody = bytes.NewReader(nil)
91 }
92
93 ctx, cancel := context.WithTimeout(context.Background(), c.timeout)
94 defer cancel()
95
96 req, err := errors.Convert01(http.NewRequestWithContext(ctx, method, *uri, reqBody))
97 if err != nil {
98 return nil, err
99 }
100 if body != nil {
101 req.Header.Set("Content-Type", "application/json")
102 }
103
104 for name, values := range headers {
105 for _, value := range values {
106 req.Header.Add(name, value)
107 }
108 }
109
110 res, err := errors.Convert01(c.client.Do(req))
111 if err != nil {
112 return nil, err
113 }
114 return res, nil
115}

Callers 2

GetMethod · 0.95
PostMethod · 0.95

Calls 3

DoMethod · 0.80
ConvertMethod · 0.45
AddMethod · 0.45

Tested by

no test coverage detected