|
|
|
@ -325,8 +325,12 @@ func (api objectAPIHandlers) CopyObjectHandler(w http.ResponseWriter, r *http.Re |
|
|
|
|
// Save metadata.
|
|
|
|
|
metadata := make(map[string]string) |
|
|
|
|
// Save other metadata if available.
|
|
|
|
|
metadata["content-type"] = objInfo.ContentType |
|
|
|
|
metadata["content-encoding"] = objInfo.ContentEncoding |
|
|
|
|
if objInfo.ContentType != "" { |
|
|
|
|
metadata["content-type"] = objInfo.ContentType |
|
|
|
|
} |
|
|
|
|
if objInfo.ContentEncoding != "" { |
|
|
|
|
metadata["content-encoding"] = objInfo.ContentEncoding |
|
|
|
|
} |
|
|
|
|
// Do not set `md5sum` as CopyObject will not keep the
|
|
|
|
|
// same md5sum as the source.
|
|
|
|
|
|
|
|
|
@ -393,8 +397,14 @@ func (api objectAPIHandlers) PutObjectHandler(w http.ResponseWriter, r *http.Req |
|
|
|
|
// Make sure we hex encode md5sum here.
|
|
|
|
|
metadata["md5Sum"] = hex.EncodeToString(md5Bytes) |
|
|
|
|
// Save other metadata if available.
|
|
|
|
|
metadata["content-type"] = r.Header.Get("Content-Type") |
|
|
|
|
metadata["content-encoding"] = r.Header.Get("Content-Encoding") |
|
|
|
|
contentType := r.Header.Get("Content-Type") |
|
|
|
|
if contentType != "" { |
|
|
|
|
metadata["content-type"] = contentType |
|
|
|
|
} |
|
|
|
|
contentEncoding := r.Header.Get("Content-Encoding") |
|
|
|
|
if contentEncoding != "" { |
|
|
|
|
metadata["content-encoding"] = contentEncoding |
|
|
|
|
} |
|
|
|
|
for key := range r.Header { |
|
|
|
|
cKey := http.CanonicalHeaderKey(key) |
|
|
|
|
if strings.HasPrefix(cKey, "X-Amz-Meta-") { |
|
|
|
@ -465,13 +475,19 @@ func (api objectAPIHandlers) NewMultipartUploadHandler(w http.ResponseWriter, r |
|
|
|
|
// Save metadata.
|
|
|
|
|
metadata := make(map[string]string) |
|
|
|
|
// Save other metadata if available.
|
|
|
|
|
metadata["content-type"] = r.Header.Get("Content-Type") |
|
|
|
|
metadata["content-encoding"] = r.Header.Get("Content-Encoding") |
|
|
|
|
contentType := r.Header.Get("Content-Type") |
|
|
|
|
if contentType != "" { |
|
|
|
|
metadata["content-type"] = contentType |
|
|
|
|
} |
|
|
|
|
contentEncoding := r.Header.Get("Content-Encoding") |
|
|
|
|
if contentEncoding != "" { |
|
|
|
|
metadata["content-encoding"] = contentEncoding |
|
|
|
|
} |
|
|
|
|
for key := range r.Header { |
|
|
|
|
cKey := http.CanonicalHeaderKey(key) |
|
|
|
|
if strings.HasPrefix(cKey, "x-amz-meta-") { |
|
|
|
|
if strings.HasPrefix(cKey, "X-Amz-Meta-") { |
|
|
|
|
metadata[cKey] = r.Header.Get(cKey) |
|
|
|
|
} else if strings.HasPrefix(key, "x-minio-meta-") { |
|
|
|
|
} else if strings.HasPrefix(key, "X-Minio-Meta-") { |
|
|
|
|
metadata[cKey] = r.Header.Get(cKey) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|