forked from TrueCloudLab/frostfs-s3-gw
[#119] Add null versioning and handler
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
This commit is contained in:
parent
cc0e2e7636
commit
aac1ac2868
6 changed files with 260 additions and 11 deletions
|
@ -109,6 +109,27 @@ type Object struct {
|
|||
UserMetadata StringMap `xml:"UserMetadata,omitempty"`
|
||||
}
|
||||
|
||||
// ObjectVersionResponse container for object version in the response of ListBucketObjectVersionsHandler.
|
||||
type ObjectVersionResponse struct {
|
||||
ETag string `xml:"ETag"`
|
||||
IsLatest bool `xml:"IsLatest"`
|
||||
Key string `xml:"Key"`
|
||||
LastModified string `xml:"LastModified"`
|
||||
Owner Owner `xml:"Owner"`
|
||||
Size int64 `xml:"Size"`
|
||||
StorageClass string `xml:"StorageClass,omitempty"` // is empty!!
|
||||
VersionID string `xml:"VersionId"`
|
||||
}
|
||||
|
||||
// DeleteMarkerEntry container for deleted object's version in the response of ListBucketObjectVersionsHandler.
|
||||
type DeleteMarkerEntry struct {
|
||||
IsLatest bool `xml:"IsLatest"`
|
||||
Key string `xml:"Key"`
|
||||
LastModified string `xml:"LastModified"`
|
||||
Owner Owner `xml:"Owner"`
|
||||
VersionID string `xml:"VersionId"`
|
||||
}
|
||||
|
||||
// StringMap is a map[string]string.
|
||||
type StringMap map[string]string
|
||||
|
||||
|
@ -125,6 +146,21 @@ type CopyObjectResponse struct {
|
|||
ETag string // md5sum of the copied object.
|
||||
}
|
||||
|
||||
// ListObjectsVersionsResponse is a response of ListBucketObjectVersionsHandler.
|
||||
type ListObjectsVersionsResponse struct {
|
||||
XMLName xml.Name `xml:"http://s3.amazonaws.com/doc/2006-03-01/ ListVersionsResult" json:"-"`
|
||||
EncodingType string `xml:"EncodingType,omitempty"`
|
||||
Name string `xml:"Name"`
|
||||
IsTruncated bool `xml:"IsTruncated"`
|
||||
KeyMarker string `xml:"KeyMarker"`
|
||||
NextKeyMarker string `xml:"NextKeyMarker,omitempty"`
|
||||
NextVersionIDMarker string `xml:"NextVersionIdMarker,omitempty"`
|
||||
VersionIDMarker string `xml:"VersionIdMarker"`
|
||||
DeleteMarker []DeleteMarkerEntry `xml:"DeleteMarker"`
|
||||
Version []ObjectVersionResponse `xml:"Version"`
|
||||
CommonPrefixes []CommonPrefix `xml:"CommonPrefixes"`
|
||||
}
|
||||
|
||||
// MarshalXML - StringMap marshals into XML.
|
||||
func (s StringMap) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
|
||||
tokens := []xml.Token{start}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue