client: Client.ImageSave: close reader on context cancellation

Use a cancelReadCloser to automatically close the reader when the context
is cancelled. Consumers are still recommended to manually close the reader,
but the cancelReadCloser makes the Close idempotent.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn
2025-10-30 11:56:24 +01:00
parent 175e4e5048
commit f76f1fc013
10 changed files with 32 additions and 54 deletions

View File

@@ -75,7 +75,7 @@ func TestBuildUserNamespaceValidateCapabilitiesAreV2(t *testing.T) {
reader, err := clientUserRemap.ImageSave(ctx, []string{imageTag})
assert.NilError(t, err, "failed to download capabilities image")
defer reader.Close()
defer func() { _ = reader.Close() }()
tar, err := os.Create(filepath.Join(tmpDir, "image.tar"))
assert.NilError(t, err, "failed to create image tar file")