Skip to content

Commit

Permalink
fix: broken unmarshal metadata map due to XML changes (#1698)
Browse files Browse the repository at this point in the history
  • Loading branch information
harshavardhana committed Sep 24, 2022
1 parent 3f1cfb7 commit 92aabc2
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions api-datatypes.go
Expand Up @@ -45,19 +45,20 @@ type StringMap map[string]string
// on the first line is initialize it.
func (m *StringMap) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
*m = StringMap{}
type xmlMapEntry struct {
XMLName xml.Name
Value string `xml:",chardata"`
type Item struct {
Key string
Value string
}
for {
var e xmlMapEntry
var e Item
err := d.Decode(&e)
if err == io.EOF {
break
} else if err != nil {
}
if err != nil {
return err
}
(*m)[e.XMLName.Local] = e.Value
(*m)[e.Key] = e.Value
}
return nil
}
Expand Down Expand Up @@ -118,7 +119,7 @@ type ObjectInfo struct {
Metadata http.Header `json:"metadata" xml:"-"`

// x-amz-meta-* headers stripped "x-amz-meta-" prefix containing the first value.
UserMetadata StringMap `json:"userMetadata"`
UserMetadata StringMap `json:"userMetadata,omitempty"`

// x-amz-tagging values in their k/v values.
UserTags map[string]string `json:"userTags"`
Expand Down

0 comments on commit 92aabc2

Please sign in to comment.