MCPcopy Index your code
hub / github.com/docker/cli / GetAutoPAT

Method GetAutoPAT

internal/oauth/api/api.go:227–255  ·  view source on GitHub ↗
(ctx context.Context, audience string, res TokenResponse)

Source from the content-addressed store, hash-verified

225}
226
227func (API) GetAutoPAT(ctx context.Context, audience string, res TokenResponse) (string, error) {
228 patURL := audience + "/v2/access-tokens/desktop-generate"
229 req, err := http.NewRequestWithContext(ctx, http.MethodPost, patURL, nil)
230 if err != nil {
231 return "", err
232 }
233
234 req.Header.Set("Authorization", "Bearer "+res.AccessToken)
235 req.Header.Set("Content-Type", "application/json")
236 resp, err := http.DefaultClient.Do(req)
237 if err != nil {
238 return "", err
239 }
240 defer func() {
241 _ = resp.Body.Close()
242 }()
243
244 if resp.StatusCode != http.StatusCreated {
245 return "", fmt.Errorf("unexpected response from Hub: %s", resp.Status)
246 }
247
248 var response patGenerateResponse
249 err = json.NewDecoder(resp.Body).Decode(&response)
250 if err != nil {
251 return "", err
252 }
253
254 return response.Data.Token, nil
255}
256
257type patGenerateResponse struct {
258 Data struct {

Callers 1

TestGetAutoPATFunction · 0.95

Calls 2

SetMethod · 0.45
CloseMethod · 0.45

Tested by 1

TestGetAutoPATFunction · 0.76