re-added conditional PutObject

This commit is contained in:
Jarek Kowalski
2017-08-12 16:36:12 -07:00
parent 9d1fb5032d
commit fe70b1e8b0

View File

@@ -127,7 +127,11 @@ func translateError(err error) error {
func (gcs *gcsStorage) PutBlock(b string, data []byte, options blob.PutOptions) error {
attempt := func() (interface{}, error) {
writer := gcs.bucket.Object(gcs.getObjectNameString(b)).NewWriter(gcs.ctx)
o := gcs.bucket.Object(gcs.getObjectNameString(b))
if options&blob.PutOptionsOverwrite == 0 {
o = o.If(storage.Conditions{DoesNotExist: true})
}
writer := o.NewWriter(gcs.ctx)
n, err := writer.Write(data)
if err != nil {
return nil, err