Set LastModified time from source for bucket replication (#10627)

master
Krishna Srinivas 4 years ago committed by GitHub
parent c6a9a94f94
commit 045e30f2c1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 12
      cmd/object-api-options.go

@ -159,9 +159,10 @@ func putOpts(ctx context.Context, r *http.Request, bucket, object string, metada
}
}
}
mtime := strings.TrimSpace(r.Header.Get(xhttp.MinIOSourceMTime))
if mtime != "" {
opts.MTime, err = time.Parse(time.RFC3339, mtime)
mtimeStr := strings.TrimSpace(r.Header.Get(xhttp.MinIOSourceMTime))
var mtime time.Time
if mtimeStr != "" {
mtime, err = time.Parse(time.RFC3339, mtimeStr)
if err != nil {
return opts, InvalidArgument{
Bucket: bucket,
@ -170,7 +171,7 @@ func putOpts(ctx context.Context, r *http.Request, bucket, object string, metada
}
}
} else {
opts.MTime = UTCNow()
mtime = UTCNow()
}
etag := strings.TrimSpace(r.Header.Get(xhttp.MinIOSourceETag))
if etag != "" {
@ -187,6 +188,7 @@ func putOpts(ctx context.Context, r *http.Request, bucket, object string, metada
UserDefined: metadata,
VersionID: vid,
Versioned: versioned,
MTime: mtime,
}, nil
}
if GlobalGatewaySSE.SSEC() && crypto.SSEC.IsRequested(r.Header) {
@ -210,6 +212,7 @@ func putOpts(ctx context.Context, r *http.Request, bucket, object string, metada
UserDefined: metadata,
VersionID: vid,
Versioned: versioned,
MTime: mtime,
}, nil
}
// default case of passing encryption headers and UserDefined metadata to backend
@ -219,6 +222,7 @@ func putOpts(ctx context.Context, r *http.Request, bucket, object string, metada
}
opts.VersionID = vid
opts.Versioned = versioned
opts.MTime = mtime
return opts, nil
}

Loading…
Cancel
Save