diff --git a/api/client.go b/api/client.go index 57162571..7a6126cd 100644 --- a/api/client.go +++ b/api/client.go @@ -131,7 +131,7 @@ func (c *Client) stream(ctx context.Context, method, path string, data any, fn f } if errorResponse.Error != "" { - return fmt.Errorf("stream: %s", errorResponse.Error) + return fmt.Errorf(errorResponse.Error) } if response.StatusCode >= 400 { diff --git a/server/images.go b/server/images.go index 06ee8e06..370a5e6d 100644 --- a/server/images.go +++ b/server/images.go @@ -684,7 +684,7 @@ func PullModel(name string, regOpts *RegistryOptions, fn func(api.ProgressRespon manifest, err := pullModelManifest(mp, regOpts) if err != nil { - return fmt.Errorf("pull model manifest: %q", err) + return fmt.Errorf("pull model manifest: %s", err) } var layers []*Layer @@ -753,6 +753,9 @@ func pullModelManifest(mp ModelPath, regOpts *RegistryOptions) (*ManifestV2, err // Check for success: For a successful upload, the Docker registry will respond with a 201 Created if resp.StatusCode != http.StatusOK { + if resp.StatusCode == http.StatusNotFound { + return nil, fmt.Errorf("model not found") + } body, _ := io.ReadAll(resp.Body) return nil, fmt.Errorf("on pull registry responded with code %d: %s", resp.StatusCode, body) }