Snowball: Extract headers for metadata (#17042)

This commit is contained in:
Klaus Post 2023-04-17 12:16:54 -07:00 committed by GitHub
parent 6825bd7e75
commit f66625be67
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -2078,11 +2078,24 @@ func (api objectAPIHandlers) PutObjectExtractHandler(w http.ResponseWriter, r *h
getObjectInfo = api.CacheAPI().GetObjectInfo
}
// Extract request metadata
metadata, err := extractMetadata(ctx, r)
if err != nil {
writeErrorResponse(ctx, w, toAPIError(ctx, err), r.URL)
return
}
metadata[xhttp.AmzStorageClass] = sc
putObjectTar := func(reader io.Reader, info os.FileInfo, object string) error {
size := info.Size()
metadata := map[string]string{
xhttp.AmzStorageClass: sc,
// Copy metadata and make space for a bit more
metaCopy := make(map[string]string, len(metadata)+5)
for k, v := range metadata {
metaCopy[k] = v
}
// Shadow now...
metadata := metaCopy
actualSize := size
var idxCb func() []byte