github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/atc/worker/image/load_metadata.go (about) 1 package image 2 3 import ( 4 "encoding/json" 5 "fmt" 6 "io" 7 8 "github.com/pf-qiu/concourse/v6/atc/worker" 9 ) 10 11 type MalformedMetadataError struct { 12 UnmarshalError error 13 } 14 15 func (err MalformedMetadataError) Error() string { 16 return fmt.Sprintf("malformed image metadata: %s", err.UnmarshalError) 17 } 18 19 func loadMetadata(tarReader io.ReadCloser) (worker.ImageMetadata, error) { 20 defer tarReader.Close() 21 22 var imageMetadata worker.ImageMetadata 23 if err := json.NewDecoder(tarReader).Decode(&imageMetadata); err != nil { 24 return worker.ImageMetadata{}, MalformedMetadataError{ 25 UnmarshalError: err, 26 } 27 } 28 29 return imageMetadata, nil 30 }