@@ -34,6 +34,7 @@ import (
34
34
provider "github.com/cs3org/go-cs3apis/cs3/storage/provider/v1beta1"
35
35
typespb "github.com/cs3org/go-cs3apis/cs3/types/v1beta1"
36
36
"github.com/cs3org/reva/internal/http/services/datagateway"
37
+ "github.com/cs3org/reva/internal/http/services/owncloud/ocdav"
37
38
"github.com/cs3org/reva/internal/http/services/owncloud/ocs/conversions"
38
39
39
40
"github.com/cs3org/reva/pkg/appctx"
@@ -399,20 +400,9 @@ func (d *driver) Upload(ctx context.Context, ref *provider.Reference, content io
399
400
}
400
401
401
402
return d .unwrappedOpFromShareCreator (ctx , share , rel , func (ctx context.Context , newRef * provider.Reference ) error {
402
- opaqueMap := map [string ]* typespb.OpaqueEntry {}
403
- if lockholder := metadata ["lockholder" ]; lockholder != "" {
404
- opaqueMap ["Lock-Holder" ] = & typespb.OpaqueEntry {
405
- Decoder : "plain" ,
406
- Value : []byte (lockholder ),
407
- }
408
- }
409
403
initRes , err := d .gateway .InitiateFileUpload (ctx , & provider.InitiateFileUploadRequest {
410
404
Ref : newRef ,
411
- LockId : metadata ["lockid" ],
412
- Opaque : & typespb.Opaque {
413
- Map : opaqueMap ,
414
- },
415
- })
405
+ LockId : metadata ["lockid" ]})
416
406
switch {
417
407
case err != nil :
418
408
return err
@@ -431,6 +421,12 @@ func (d *driver) Upload(ctx context.Context, ref *provider.Reference, content io
431
421
}
432
422
433
423
httpReq .Header .Set (datagateway .TokenTransportHeader , token )
424
+ if lockid := metadata ["lockid" ]; lockid != "" {
425
+ httpReq .Header .Set (ocdav .HeaderLockID , lockid )
426
+ }
427
+ if lockholder := metadata ["lockholder" ]; lockholder != "" {
428
+ httpReq .Header .Set (ocdav .HeaderLockHolder , lockholder )
429
+ }
434
430
435
431
httpRes , err := httpclient .New ().Do (httpReq )
436
432
if err != nil {
0 commit comments