diff --git a/cmd/bucket-notification-datatypes.go b/cmd/bucket-notification-datatypes.go index 7f7aec6e6..3be763e37 100644 --- a/cmd/bucket-notification-datatypes.go +++ b/cmd/bucket-notification-datatypes.go @@ -136,11 +136,13 @@ type bucketMeta struct { // Notification event object metadata. type objectMeta struct { - Key string `json:"key"` - Size int64 `json:"size,omitempty"` - ETag string `json:"eTag,omitempty"` - VersionID string `json:"versionId,omitempty"` - Sequencer string `json:"sequencer"` + Key string `json:"key"` + Size int64 `json:"size,omitempty"` + ETag string `json:"eTag,omitempty"` + ContentType string `json:"contentType:omitempty"` + UserDefined map[string]string `json:"userDefined:omitempty"` + VersionID string `json:"versionId,omitempty"` + Sequencer string `json:"sequencer"` } const ( diff --git a/cmd/event-notifier.go b/cmd/event-notifier.go index 687748c1a..b38c4c053 100644 --- a/cmd/event-notifier.go +++ b/cmd/event-notifier.go @@ -156,6 +156,7 @@ func newNotificationEvent(event eventData) NotificationEvent { if event.Type == ObjectRemovedDelete { nEvent.S3.Object = objectMeta{ Key: escapedObj, + VersionID: "1", Sequencer: uniqueID, } return nEvent @@ -163,10 +164,13 @@ func newNotificationEvent(event eventData) NotificationEvent { // For all other events we should set ETag and Size. nEvent.S3.Object = objectMeta{ - Key: escapedObj, - ETag: event.ObjInfo.MD5Sum, - Size: event.ObjInfo.Size, - Sequencer: uniqueID, + Key: escapedObj, + ETag: event.ObjInfo.MD5Sum, + Size: event.ObjInfo.Size, + ContentType: event.ObjInfo.ContentType, + UserDefined: event.ObjInfo.UserDefined, + VersionID: "1", + Sequencer: uniqueID, } // Success.