Extract method for Objects; struct tags: json -> mapstructure
diff --git a/openstack/objectstorage/v1/containers/results.go b/openstack/objectstorage/v1/containers/results.go
index c2c25a8..4c27ec6 100644
--- a/openstack/objectstorage/v1/containers/results.go
+++ b/openstack/objectstorage/v1/containers/results.go
@@ -99,12 +99,12 @@
// GetHeader represents the headers returned in the response from a Get request.
type GetHeader struct {
- BytesUsed int64 `json:"X-Account-Bytes-Used"`
- ContentLength int64 `json:"Content-Length"`
- ContentType string `json:"Content-Type"`
- Date time.Time `mapstructure:"-" json:"-"`
- ObjectCount int64 `json:"X-Account-Object-Count"`
- TransID string `json:"X-Trans-Id"`
+ BytesUsed int64 `mapstructure:"X-Account-Bytes-Used"`
+ ContentLength int64 `mapstructure:"Content-Length"`
+ ContentType string `mapstructure:"Content-Type"`
+ Date time.Time `mapstructure:"-"`
+ ObjectCount int64 `mapstructure:"X-Account-Object-Count"`
+ TransID string `mapstructure:"X-Trans-Id"`
}
// GetResult represents the result of a get operation.
@@ -116,6 +116,9 @@
// a map of headers, call the ExtractHeader method on the GetResult.
func (gr GetResult) Extract() (GetHeader, error) {
var gh GetHeader
+ if gr.Err != nil {
+ return gh, gr.Err
+ }
if err := mapstructure.Decode(gr.Header, &gh); err != nil {
return gh, err
@@ -150,10 +153,10 @@
// CreateHeader represents the headers returned in the response from a Create request.
type CreateHeader struct {
- ContentLength int64 `json:"Content-Length"`
- ContentType string `json:"Content-Type"`
- Date time.Time `mapstructure:"-" json:"-"`
- TransID string `json:"X-Trans-Id"`
+ ContentLength int64 `mapstructure:"Content-Length"`
+ ContentType string `mapstructure:"Content-Type"`
+ Date time.Time `mapstructure:"-"`
+ TransID string `mapstructure:"X-Trans-Id"`
}
// CreateResult represents the result of a create operation. To extract the
@@ -167,6 +170,9 @@
// a map of headers, call the ExtractHeader method on the CreateResult.
func (cr CreateResult) Extract() (CreateHeader, error) {
var ch CreateHeader
+ if cr.Err != nil {
+ return ch, cr.Err
+ }
if err := mapstructure.Decode(cr.Header, &ch); err != nil {
return ch, err
@@ -185,10 +191,10 @@
// UpdateHeader represents the headers returned in the response from a Update request.
type UpdateHeader struct {
- ContentLength int64 `json:"Content-Length"`
- ContentType string `json:"Content-Type"`
- Date time.Time `mapstructure:"-" json:"-"`
- TransID string `json:"X-Trans-Id"`
+ ContentLength int64 `mapstructure:"Content-Length"`
+ ContentType string `mapstructure:"Content-Type"`
+ Date time.Time `mapstructure:"-"`
+ TransID string `mapstructure:"X-Trans-Id"`
}
// UpdateResult represents the result of an update operation. To extract the
@@ -202,6 +208,9 @@
// a map of headers, call the ExtractHeader method on the UpdateResult.
func (ur UpdateResult) Extract() (UpdateHeader, error) {
var uh UpdateHeader
+ if ur.Err != nil {
+ return uh, ur.Err
+ }
if err := mapstructure.Decode(ur.Header, &uh); err != nil {
return uh, err
@@ -220,10 +229,10 @@
// DeleteHeader represents the headers returned in the response from a Delete request.
type DeleteHeader struct {
- ContentLength int64 `json:"Content-Length"`
- ContentType string `json:"Content-Type"`
- Date time.Time `mapstructure:"-" json:"-"`
- TransID string `json:"X-Trans-Id"`
+ ContentLength int64 `mapstructure:"Content-Length"`
+ ContentType string `mapstructure:"Content-Type"`
+ Date time.Time `mapstructure:"-"`
+ TransID string `mapstructure:"X-Trans-Id"`
}
// DeleteResult represents the result of a delete operation. To extract the
@@ -237,6 +246,9 @@
// a map of headers, call the ExtractHeader method on the DeleteResult.
func (dr DeleteResult) Extract() (DeleteHeader, error) {
var dh DeleteHeader
+ if dr.Err != nil {
+ return dh, dr.Err
+ }
if err := mapstructure.Decode(dr.Header, &dh); err != nil {
return dh, err