[#19] Client: Use specific classes for search
Signed-off-by: Pavel Gross <p.gross@yando.com>
This commit is contained in:
parent
3206abc33e
commit
35fe791406
27 changed files with 320 additions and 123 deletions
23
src/FrostFS.SDK.ClientV2/Services/Shared/SessionProvider.cs
Normal file
23
src/FrostFS.SDK.ClientV2/Services/Shared/SessionProvider.cs
Normal file
|
@ -0,0 +1,23 @@
|
|||
|
||||
using System.Threading.Tasks;
|
||||
using FrostFS.SDK.ClientV2.Parameters;
|
||||
|
||||
namespace FrostFS.SDK.ClientV2;
|
||||
|
||||
internal interface ISessionProvider
|
||||
{
|
||||
ValueTask<Session.SessionToken> GetOrCreateSession(ISessionToken args, Context ctx);
|
||||
}
|
||||
|
||||
internal class SessionProvider(ClientEnvironment env)
|
||||
{
|
||||
public async ValueTask<Session.SessionToken> GetOrCreateSession(ISessionToken args, Context ctx)
|
||||
{
|
||||
if (args.SessionToken is null)
|
||||
{
|
||||
return await env.Client.CreateSessionInternalAsync(new PrmSessionCreate(uint.MaxValue, ctx));
|
||||
}
|
||||
|
||||
return new Session.SessionToken().Deserialize(args.SessionToken.Token);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue