Merge remote-tracking branch 'origin/pr@dev-v2@feat_local_image_upload' into dev-v2-8

This commit is contained in:
guoyuqi
2026-10-10 18:10:18 +08:00
+33
View File
@@ -0,0 +1,33 @@
package service
import (
"encoding/json"
"errors"
"io"
"strings"
"github.com/docker/docker/pkg/jsonmessage"
)
// Docker may report load failures in a successful HTTP response's JSON stream.
func consumeImageLoadResponse(reader io.Reader, log func(string)) error {
decoder := json.NewDecoder(reader)
for {
var message jsonmessage.JSONMessage
if err := decoder.Decode(&message); err != nil {
if errors.Is(err, io.EOF) {
return nil
}
return err
}
if message.Error != nil && message.Error.Message != "" {
return message.Error
}
if message.ErrorMessage != "" {
return errors.New(message.ErrorMessage)
}
if text := strings.TrimSpace(message.Stream); text != "" {
log(text)
}
}
}