MCPcopy Create free account
hub / github.com/docker/docker-agent / fetch

Function fetch

pkg/modelsdev/internal/gen/main.go:79–104  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

77}
78
79func fetch(ctx context.Context) (map[string]modelsdev.Provider, error) {
80 req, err := http.NewRequestWithContext(ctx, http.MethodGet, modelsdev.ModelsDevAPIURL, http.NoBody)
81 if err != nil {
82 return nil, err
83 }
84 resp, err := http.DefaultClient.Do(req)
85 if err != nil {
86 return nil, fmt.Errorf("fetch %s: %w", modelsdev.ModelsDevAPIURL, err)
87 }
88 defer resp.Body.Close()
89
90 if resp.StatusCode != http.StatusOK {
91 return nil, fmt.Errorf("models.dev returned status %d", resp.StatusCode)
92 }
93
94 body, err := io.ReadAll(resp.Body)
95 if err != nil {
96 return nil, fmt.Errorf("read body: %w", err)
97 }
98
99 var providers map[string]modelsdev.Provider
100 if err := json.Unmarshal(body, &providers); err != nil {
101 return nil, fmt.Errorf("decode catalog: %w", err)
102 }
103 return providers, nil
104}
105
106// snapshotDir locates pkg/modelsdev relative to this source file so the
107// generator works regardless of the caller's working directory.

Callers 4

loadDatabaseFunction · 0.85
runFunction · 0.85
loadMethod · 0.85
handleCallbackFunction · 0.85

Calls 2

DoMethod · 0.65
CloseMethod · 0.65

Tested by

no test coverage detected