瀏覽代碼

better error message when model not found on pull

Bruce MacDonald 1 年之前
父節點
當前提交
af9039a167
共有 2 個文件被更改,包括 5 次插入2 次删除
  1. 1 1
      api/client.go
  2. 4 1
      server/images.go

+ 1 - 1
api/client.go

@@ -131,7 +131,7 @@ func (c *Client) stream(ctx context.Context, method, path string, data any, fn f
 		}
 		}
 
 
 		if errorResponse.Error != "" {
 		if errorResponse.Error != "" {
-			return fmt.Errorf("stream: %s", errorResponse.Error)
+			return fmt.Errorf(errorResponse.Error)
 		}
 		}
 
 
 		if response.StatusCode >= 400 {
 		if response.StatusCode >= 400 {

+ 4 - 1
server/images.go

@@ -684,7 +684,7 @@ func PullModel(name string, regOpts *RegistryOptions, fn func(api.ProgressRespon
 
 
 	manifest, err := pullModelManifest(mp, regOpts)
 	manifest, err := pullModelManifest(mp, regOpts)
 	if err != nil {
 	if err != nil {
-		return fmt.Errorf("pull model manifest: %q", err)
+		return fmt.Errorf("pull model manifest: %s", err)
 	}
 	}
 
 
 	var layers []*Layer
 	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
 	// 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.StatusOK {
+		if resp.StatusCode == http.StatusNotFound {
+			return nil, fmt.Errorf("model not found")
+		}
 		body, _ := io.ReadAll(resp.Body)
 		body, _ := io.ReadAll(resp.Body)
 		return nil, fmt.Errorf("on pull registry responded with code %d: %s", resp.StatusCode, body)
 		return nil, fmt.Errorf("on pull registry responded with code %d: %s", resp.StatusCode, body)
 	}
 	}