[#1] Add Object Head/Put/Delete operations

Signed-off-by: Ivan Pchelintsev <i.pchelintsev@yadro.com>
This commit is contained in:
Ivan Pchelintsev 2024-05-16 10:01:08 +03:00
parent ee1bf29304
commit 013d8a8436
13 changed files with 192 additions and 12 deletions

View file

@ -1,3 +1,5 @@
using System.Security.Cryptography;
using FrostFS.Refs;
using FrostFS.SDK.ClientV2.Mappers.GRPC;
using FrostFS.SDK.ModelsV2;
using FrostFS.Session;
@ -12,4 +14,27 @@ public static class RequestConstructor
metaHeader ??= MetaHeader.Default().ToGrpcMessage();
request.MetaHeader = metaHeader;
}
public static void AddObjectSessionToken(
this IRequest request,
SessionToken sessionToken,
ContainerID cid,
ObjectID oid,
ObjectSessionContext.Types.Verb verb,
ECDsa key)
{
if (request.MetaHeader.SessionToken is not null) return;
request.MetaHeader.SessionToken = sessionToken;
var ctx = new ObjectSessionContext
{
Target = new ObjectSessionContext.Types.Target
{
Container = cid,
Objects = { oid }
},
Verb = verb
};
request.MetaHeader.SessionToken.Body.Object = ctx;
request.MetaHeader.SessionToken.Signature = key.SignMessagePart(request.MetaHeader.SessionToken.Body);
}
}