Repository URL to install this package:
Version:
2025.3.18 ▾
|
/*
* Copyright 2016 Game Server Services, Inc. or its affiliates. All Rights
* Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
#if UNITY_2017_1_OR_NEWER
using UnityEngine.Events;
using UnityEngine.Networking;
#if GS2_ENABLE_UNITASK
using Cysharp.Threading.Tasks;
#endif
#else
using System.Web;
using System.Net.Http;
using System.Threading.Tasks;
#endif
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using Gs2.Core;
using Gs2.Core.Model;
using Gs2.Core.Net;
using Gs2.Gs2Limit.Request;
using Gs2.Gs2Limit.Result;
using Gs2.Util.LitJson;
namespace Gs2.Gs2Limit
{
public class Gs2LimitRestClient : AbstractGs2Client
{
#if UNITY_2017_1_OR_NEWER
private readonly CertificateHandler _certificateHandler;
#endif
public static string Endpoint = "limit";
protected Gs2RestSession Gs2RestSession => (Gs2RestSession) Gs2Session;
public Gs2LimitRestClient(Gs2RestSession Gs2RestSession) : base(Gs2RestSession)
{
}
#if UNITY_2017_1_OR_NEWER
public Gs2LimitRestClient(Gs2RestSession gs2RestSession, CertificateHandler certificateHandler) : base(gs2RestSession)
{
_certificateHandler = certificateHandler;
}
#endif
public class DescribeNamespacesTask : Gs2RestSessionTask<DescribeNamespacesRequest, DescribeNamespacesResult>
{
public DescribeNamespacesTask(IGs2Session session, RestSessionRequestFactory factory, DescribeNamespacesRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeNamespacesRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/";
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeNamespaces(
Request.DescribeNamespacesRequest request,
UnityAction<AsyncResult<Result.DescribeNamespacesResult>> callback
)
{
var task = new DescribeNamespacesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeNamespacesResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeNamespacesResult> DescribeNamespacesFuture(
Request.DescribeNamespacesRequest request
)
{
return new DescribeNamespacesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeNamespacesResult> DescribeNamespacesAsync(
Request.DescribeNamespacesRequest request
)
{
AsyncResult<Result.DescribeNamespacesResult> result = null;
await DescribeNamespaces(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeNamespacesTask DescribeNamespacesAsync(
Request.DescribeNamespacesRequest request
)
{
return new DescribeNamespacesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeNamespacesResult> DescribeNamespacesAsync(
Request.DescribeNamespacesRequest request
)
{
var task = new DescribeNamespacesTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateNamespaceTask : Gs2RestSessionTask<CreateNamespaceRequest, CreateNamespaceResult>
{
public CreateNamespaceTask(IGs2Session session, RestSessionRequestFactory factory, CreateNamespaceRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateNamespaceRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/";
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Name != null)
{
jsonWriter.WritePropertyName("name");
jsonWriter.Write(request.Name);
}
if (request.Description != null)
{
jsonWriter.WritePropertyName("description");
jsonWriter.Write(request.Description);
}
if (request.LogSetting != null)
{
jsonWriter.WritePropertyName("logSetting");
request.LogSetting.WriteJson(jsonWriter);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreateNamespace(
Request.CreateNamespaceRequest request,
UnityAction<AsyncResult<Result.CreateNamespaceResult>> callback
)
{
var task = new CreateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateNamespaceResult>(task.Result, task.Error));
}
public IFuture<Result.CreateNamespaceResult> CreateNamespaceFuture(
Request.CreateNamespaceRequest request
)
{
return new CreateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateNamespaceResult> CreateNamespaceAsync(
Request.CreateNamespaceRequest request
)
{
AsyncResult<Result.CreateNamespaceResult> result = null;
await CreateNamespace(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateNamespaceTask CreateNamespaceAsync(
Request.CreateNamespaceRequest request
)
{
return new CreateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateNamespaceResult> CreateNamespaceAsync(
Request.CreateNamespaceRequest request
)
{
var task = new CreateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetNamespaceStatusTask : Gs2RestSessionTask<GetNamespaceStatusRequest, GetNamespaceStatusResult>
{
public GetNamespaceStatusTask(IGs2Session session, RestSessionRequestFactory factory, GetNamespaceStatusRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetNamespaceStatusRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/status";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetNamespaceStatus(
Request.GetNamespaceStatusRequest request,
UnityAction<AsyncResult<Result.GetNamespaceStatusResult>> callback
)
{
var task = new GetNamespaceStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetNamespaceStatusResult>(task.Result, task.Error));
}
public IFuture<Result.GetNamespaceStatusResult> GetNamespaceStatusFuture(
Request.GetNamespaceStatusRequest request
)
{
return new GetNamespaceStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetNamespaceStatusResult> GetNamespaceStatusAsync(
Request.GetNamespaceStatusRequest request
)
{
AsyncResult<Result.GetNamespaceStatusResult> result = null;
await GetNamespaceStatus(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetNamespaceStatusTask GetNamespaceStatusAsync(
Request.GetNamespaceStatusRequest request
)
{
return new GetNamespaceStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetNamespaceStatusResult> GetNamespaceStatusAsync(
Request.GetNamespaceStatusRequest request
)
{
var task = new GetNamespaceStatusTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetNamespaceTask : Gs2RestSessionTask<GetNamespaceRequest, GetNamespaceResult>
{
public GetNamespaceTask(IGs2Session session, RestSessionRequestFactory factory, GetNamespaceRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetNamespaceRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetNamespace(
Request.GetNamespaceRequest request,
UnityAction<AsyncResult<Result.GetNamespaceResult>> callback
)
{
var task = new GetNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetNamespaceResult>(task.Result, task.Error));
}
public IFuture<Result.GetNamespaceResult> GetNamespaceFuture(
Request.GetNamespaceRequest request
)
{
return new GetNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetNamespaceResult> GetNamespaceAsync(
Request.GetNamespaceRequest request
)
{
AsyncResult<Result.GetNamespaceResult> result = null;
await GetNamespace(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetNamespaceTask GetNamespaceAsync(
Request.GetNamespaceRequest request
)
{
return new GetNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetNamespaceResult> GetNamespaceAsync(
Request.GetNamespaceRequest request
)
{
var task = new GetNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateNamespaceTask : Gs2RestSessionTask<UpdateNamespaceRequest, UpdateNamespaceResult>
{
public UpdateNamespaceTask(IGs2Session session, RestSessionRequestFactory factory, UpdateNamespaceRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateNamespaceRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Description != null)
{
jsonWriter.WritePropertyName("description");
jsonWriter.Write(request.Description);
}
if (request.LogSetting != null)
{
jsonWriter.WritePropertyName("logSetting");
request.LogSetting.WriteJson(jsonWriter);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateNamespace(
Request.UpdateNamespaceRequest request,
UnityAction<AsyncResult<Result.UpdateNamespaceResult>> callback
)
{
var task = new UpdateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateNamespaceResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateNamespaceResult> UpdateNamespaceFuture(
Request.UpdateNamespaceRequest request
)
{
return new UpdateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateNamespaceResult> UpdateNamespaceAsync(
Request.UpdateNamespaceRequest request
)
{
AsyncResult<Result.UpdateNamespaceResult> result = null;
await UpdateNamespace(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateNamespaceTask UpdateNamespaceAsync(
Request.UpdateNamespaceRequest request
)
{
return new UpdateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateNamespaceResult> UpdateNamespaceAsync(
Request.UpdateNamespaceRequest request
)
{
var task = new UpdateNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteNamespaceTask : Gs2RestSessionTask<DeleteNamespaceRequest, DeleteNamespaceResult>
{
public DeleteNamespaceTask(IGs2Session session, RestSessionRequestFactory factory, DeleteNamespaceRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteNamespaceRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteNamespace(
Request.DeleteNamespaceRequest request,
UnityAction<AsyncResult<Result.DeleteNamespaceResult>> callback
)
{
var task = new DeleteNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteNamespaceResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteNamespaceResult> DeleteNamespaceFuture(
Request.DeleteNamespaceRequest request
)
{
return new DeleteNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteNamespaceResult> DeleteNamespaceAsync(
Request.DeleteNamespaceRequest request
)
{
AsyncResult<Result.DeleteNamespaceResult> result = null;
await DeleteNamespace(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteNamespaceTask DeleteNamespaceAsync(
Request.DeleteNamespaceRequest request
)
{
return new DeleteNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteNamespaceResult> DeleteNamespaceAsync(
Request.DeleteNamespaceRequest request
)
{
var task = new DeleteNamespaceTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DumpUserDataByUserIdTask : Gs2RestSessionTask<DumpUserDataByUserIdRequest, DumpUserDataByUserIdResult>
{
public DumpUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DumpUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DumpUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/dump/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DumpUserDataByUserId(
Request.DumpUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.DumpUserDataByUserIdResult>> callback
)
{
var task = new DumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DumpUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DumpUserDataByUserIdResult> DumpUserDataByUserIdFuture(
Request.DumpUserDataByUserIdRequest request
)
{
return new DumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DumpUserDataByUserIdResult> DumpUserDataByUserIdAsync(
Request.DumpUserDataByUserIdRequest request
)
{
AsyncResult<Result.DumpUserDataByUserIdResult> result = null;
await DumpUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DumpUserDataByUserIdTask DumpUserDataByUserIdAsync(
Request.DumpUserDataByUserIdRequest request
)
{
return new DumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DumpUserDataByUserIdResult> DumpUserDataByUserIdAsync(
Request.DumpUserDataByUserIdRequest request
)
{
var task = new DumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CheckDumpUserDataByUserIdTask : Gs2RestSessionTask<CheckDumpUserDataByUserIdRequest, CheckDumpUserDataByUserIdResult>
{
public CheckDumpUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CheckDumpUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CheckDumpUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/dump/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CheckDumpUserDataByUserId(
Request.CheckDumpUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.CheckDumpUserDataByUserIdResult>> callback
)
{
var task = new CheckDumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CheckDumpUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CheckDumpUserDataByUserIdResult> CheckDumpUserDataByUserIdFuture(
Request.CheckDumpUserDataByUserIdRequest request
)
{
return new CheckDumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CheckDumpUserDataByUserIdResult> CheckDumpUserDataByUserIdAsync(
Request.CheckDumpUserDataByUserIdRequest request
)
{
AsyncResult<Result.CheckDumpUserDataByUserIdResult> result = null;
await CheckDumpUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CheckDumpUserDataByUserIdTask CheckDumpUserDataByUserIdAsync(
Request.CheckDumpUserDataByUserIdRequest request
)
{
return new CheckDumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CheckDumpUserDataByUserIdResult> CheckDumpUserDataByUserIdAsync(
Request.CheckDumpUserDataByUserIdRequest request
)
{
var task = new CheckDumpUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CleanUserDataByUserIdTask : Gs2RestSessionTask<CleanUserDataByUserIdRequest, CleanUserDataByUserIdResult>
{
public CleanUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CleanUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CleanUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/clean/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CleanUserDataByUserId(
Request.CleanUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.CleanUserDataByUserIdResult>> callback
)
{
var task = new CleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CleanUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CleanUserDataByUserIdResult> CleanUserDataByUserIdFuture(
Request.CleanUserDataByUserIdRequest request
)
{
return new CleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CleanUserDataByUserIdResult> CleanUserDataByUserIdAsync(
Request.CleanUserDataByUserIdRequest request
)
{
AsyncResult<Result.CleanUserDataByUserIdResult> result = null;
await CleanUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CleanUserDataByUserIdTask CleanUserDataByUserIdAsync(
Request.CleanUserDataByUserIdRequest request
)
{
return new CleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CleanUserDataByUserIdResult> CleanUserDataByUserIdAsync(
Request.CleanUserDataByUserIdRequest request
)
{
var task = new CleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CheckCleanUserDataByUserIdTask : Gs2RestSessionTask<CheckCleanUserDataByUserIdRequest, CheckCleanUserDataByUserIdResult>
{
public CheckCleanUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CheckCleanUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CheckCleanUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/clean/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CheckCleanUserDataByUserId(
Request.CheckCleanUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.CheckCleanUserDataByUserIdResult>> callback
)
{
var task = new CheckCleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CheckCleanUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CheckCleanUserDataByUserIdResult> CheckCleanUserDataByUserIdFuture(
Request.CheckCleanUserDataByUserIdRequest request
)
{
return new CheckCleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CheckCleanUserDataByUserIdResult> CheckCleanUserDataByUserIdAsync(
Request.CheckCleanUserDataByUserIdRequest request
)
{
AsyncResult<Result.CheckCleanUserDataByUserIdResult> result = null;
await CheckCleanUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CheckCleanUserDataByUserIdTask CheckCleanUserDataByUserIdAsync(
Request.CheckCleanUserDataByUserIdRequest request
)
{
return new CheckCleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CheckCleanUserDataByUserIdResult> CheckCleanUserDataByUserIdAsync(
Request.CheckCleanUserDataByUserIdRequest request
)
{
var task = new CheckCleanUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class PrepareImportUserDataByUserIdTask : Gs2RestSessionTask<PrepareImportUserDataByUserIdRequest, PrepareImportUserDataByUserIdResult>
{
public PrepareImportUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, PrepareImportUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(PrepareImportUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/import/user/{userId}/prepare";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator PrepareImportUserDataByUserId(
Request.PrepareImportUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.PrepareImportUserDataByUserIdResult>> callback
)
{
var task = new PrepareImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.PrepareImportUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.PrepareImportUserDataByUserIdResult> PrepareImportUserDataByUserIdFuture(
Request.PrepareImportUserDataByUserIdRequest request
)
{
return new PrepareImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.PrepareImportUserDataByUserIdResult> PrepareImportUserDataByUserIdAsync(
Request.PrepareImportUserDataByUserIdRequest request
)
{
AsyncResult<Result.PrepareImportUserDataByUserIdResult> result = null;
await PrepareImportUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public PrepareImportUserDataByUserIdTask PrepareImportUserDataByUserIdAsync(
Request.PrepareImportUserDataByUserIdRequest request
)
{
return new PrepareImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.PrepareImportUserDataByUserIdResult> PrepareImportUserDataByUserIdAsync(
Request.PrepareImportUserDataByUserIdRequest request
)
{
var task = new PrepareImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class ImportUserDataByUserIdTask : Gs2RestSessionTask<ImportUserDataByUserIdRequest, ImportUserDataByUserIdResult>
{
public ImportUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, ImportUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(ImportUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/import/user/{userId}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.UploadToken != null)
{
jsonWriter.WritePropertyName("uploadToken");
jsonWriter.Write(request.UploadToken);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator ImportUserDataByUserId(
Request.ImportUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.ImportUserDataByUserIdResult>> callback
)
{
var task = new ImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.ImportUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.ImportUserDataByUserIdResult> ImportUserDataByUserIdFuture(
Request.ImportUserDataByUserIdRequest request
)
{
return new ImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.ImportUserDataByUserIdResult> ImportUserDataByUserIdAsync(
Request.ImportUserDataByUserIdRequest request
)
{
AsyncResult<Result.ImportUserDataByUserIdResult> result = null;
await ImportUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public ImportUserDataByUserIdTask ImportUserDataByUserIdAsync(
Request.ImportUserDataByUserIdRequest request
)
{
return new ImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.ImportUserDataByUserIdResult> ImportUserDataByUserIdAsync(
Request.ImportUserDataByUserIdRequest request
)
{
var task = new ImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CheckImportUserDataByUserIdTask : Gs2RestSessionTask<CheckImportUserDataByUserIdRequest, CheckImportUserDataByUserIdResult>
{
public CheckImportUserDataByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CheckImportUserDataByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CheckImportUserDataByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/system/import/user/{userId}/{uploadToken}";
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{uploadToken}", !string.IsNullOrEmpty(request.UploadToken) ? request.UploadToken.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CheckImportUserDataByUserId(
Request.CheckImportUserDataByUserIdRequest request,
UnityAction<AsyncResult<Result.CheckImportUserDataByUserIdResult>> callback
)
{
var task = new CheckImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CheckImportUserDataByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CheckImportUserDataByUserIdResult> CheckImportUserDataByUserIdFuture(
Request.CheckImportUserDataByUserIdRequest request
)
{
return new CheckImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CheckImportUserDataByUserIdResult> CheckImportUserDataByUserIdAsync(
Request.CheckImportUserDataByUserIdRequest request
)
{
AsyncResult<Result.CheckImportUserDataByUserIdResult> result = null;
await CheckImportUserDataByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CheckImportUserDataByUserIdTask CheckImportUserDataByUserIdAsync(
Request.CheckImportUserDataByUserIdRequest request
)
{
return new CheckImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CheckImportUserDataByUserIdResult> CheckImportUserDataByUserIdAsync(
Request.CheckImportUserDataByUserIdRequest request
)
{
var task = new CheckImportUserDataByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeCountersTask : Gs2RestSessionTask<DescribeCountersRequest, DescribeCountersResult>
{
public DescribeCountersTask(IGs2Session session, RestSessionRequestFactory factory, DescribeCountersRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeCountersRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/counter";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.LimitName != null) {
sessionRequest.AddQueryString("limitName", $"{request.LimitName}");
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeCounters(
Request.DescribeCountersRequest request,
UnityAction<AsyncResult<Result.DescribeCountersResult>> callback
)
{
var task = new DescribeCountersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeCountersResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeCountersResult> DescribeCountersFuture(
Request.DescribeCountersRequest request
)
{
return new DescribeCountersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeCountersResult> DescribeCountersAsync(
Request.DescribeCountersRequest request
)
{
AsyncResult<Result.DescribeCountersResult> result = null;
await DescribeCounters(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeCountersTask DescribeCountersAsync(
Request.DescribeCountersRequest request
)
{
return new DescribeCountersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeCountersResult> DescribeCountersAsync(
Request.DescribeCountersRequest request
)
{
var task = new DescribeCountersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeCountersByUserIdTask : Gs2RestSessionTask<DescribeCountersByUserIdRequest, DescribeCountersByUserIdResult>
{
public DescribeCountersByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DescribeCountersByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeCountersByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/counter";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.LimitName != null) {
sessionRequest.AddQueryString("limitName", $"{request.LimitName}");
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeCountersByUserId(
Request.DescribeCountersByUserIdRequest request,
UnityAction<AsyncResult<Result.DescribeCountersByUserIdResult>> callback
)
{
var task = new DescribeCountersByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeCountersByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeCountersByUserIdResult> DescribeCountersByUserIdFuture(
Request.DescribeCountersByUserIdRequest request
)
{
return new DescribeCountersByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeCountersByUserIdResult> DescribeCountersByUserIdAsync(
Request.DescribeCountersByUserIdRequest request
)
{
AsyncResult<Result.DescribeCountersByUserIdResult> result = null;
await DescribeCountersByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeCountersByUserIdTask DescribeCountersByUserIdAsync(
Request.DescribeCountersByUserIdRequest request
)
{
return new DescribeCountersByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeCountersByUserIdResult> DescribeCountersByUserIdAsync(
Request.DescribeCountersByUserIdRequest request
)
{
var task = new DescribeCountersByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetCounterTask : Gs2RestSessionTask<GetCounterRequest, GetCounterResult>
{
public GetCounterTask(IGs2Session session, RestSessionRequestFactory factory, GetCounterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetCounterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/counter/{limitName}/{counterName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{limitName}", !string.IsNullOrEmpty(request.LimitName) ? request.LimitName.ToString() : "null");
url = url.Replace("{counterName}", !string.IsNullOrEmpty(request.CounterName) ? request.CounterName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetCounter(
Request.GetCounterRequest request,
UnityAction<AsyncResult<Result.GetCounterResult>> callback
)
{
var task = new GetCounterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetCounterResult>(task.Result, task.Error));
}
public IFuture<Result.GetCounterResult> GetCounterFuture(
Request.GetCounterRequest request
)
{
return new GetCounterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetCounterResult> GetCounterAsync(
Request.GetCounterRequest request
)
{
AsyncResult<Result.GetCounterResult> result = null;
await GetCounter(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetCounterTask GetCounterAsync(
Request.GetCounterRequest request
)
{
return new GetCounterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetCounterResult> GetCounterAsync(
Request.GetCounterRequest request
)
{
var task = new GetCounterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetCounterByUserIdTask : Gs2RestSessionTask<GetCounterByUserIdRequest, GetCounterByUserIdResult>
{
public GetCounterByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, GetCounterByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetCounterByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/counter/{limitName}/{counterName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{limitName}", !string.IsNullOrEmpty(request.LimitName) ? request.LimitName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{counterName}", !string.IsNullOrEmpty(request.CounterName) ? request.CounterName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetCounterByUserId(
Request.GetCounterByUserIdRequest request,
UnityAction<AsyncResult<Result.GetCounterByUserIdResult>> callback
)
{
var task = new GetCounterByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetCounterByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.GetCounterByUserIdResult> GetCounterByUserIdFuture(
Request.GetCounterByUserIdRequest request
)
{
return new GetCounterByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetCounterByUserIdResult> GetCounterByUserIdAsync(
Request.GetCounterByUserIdRequest request
)
{
AsyncResult<Result.GetCounterByUserIdResult> result = null;
await GetCounterByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetCounterByUserIdTask GetCounterByUserIdAsync(
Request.GetCounterByUserIdRequest request
)
{
return new GetCounterByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetCounterByUserIdResult> GetCounterByUserIdAsync(
Request.GetCounterByUserIdRequest request
)
{
var task = new GetCounterByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CountUpTask : Gs2RestSessionTask<CountUpRequest, CountUpResult>
{
public CountUpTask(IGs2Session session, RestSessionRequestFactory factory, CountUpRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CountUpRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/counter/{limitName}/{counterName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{limitName}", !string.IsNullOrEmpty(request.LimitName) ? request.LimitName.ToString() : "null");
url = url.Replace("{counterName}", !string.IsNullOrEmpty(request.CounterName) ? request.CounterName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.CountUpValue != null)
{
jsonWriter.WritePropertyName("countUpValue");
jsonWriter.Write(request.CountUpValue.ToString());
}
if (request.MaxValue != null)
{
jsonWriter.WritePropertyName("maxValue");
jsonWriter.Write(request.MaxValue.ToString());
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
public override void OnError(Gs2.Core.Exception.Gs2Exception error)
{
if (error.Errors.Count(v => v.code == "limit.counter.overflow") > 0) {
base.OnError(new Exception.OverflowException(error));
}
else {
base.OnError(error);
}
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CountUp(
Request.CountUpRequest request,
UnityAction<AsyncResult<Result.CountUpResult>> callback
)
{
var task = new CountUpTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CountUpResult>(task.Result, task.Error));
}
public IFuture<Result.CountUpResult> CountUpFuture(
Request.CountUpRequest request
)
{
return new CountUpTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CountUpResult> CountUpAsync(
Request.CountUpRequest request
)
{
AsyncResult<Result.CountUpResult> result = null;
await CountUp(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CountUpTask CountUpAsync(
Request.CountUpRequest request
)
{
return new CountUpTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CountUpResult> CountUpAsync(
Request.CountUpRequest request
)
{
var task = new CountUpTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CountUpByUserIdTask : Gs2RestSessionTask<CountUpByUserIdRequest, CountUpByUserIdResult>
{
public CountUpByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CountUpByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CountUpByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/counter/{limitName}/{counterName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{limitName}", !string.IsNullOrEmpty(request.LimitName) ? request.LimitName.ToString() : "null");
url = url.Replace("{counterName}", !string.IsNullOrEmpty(request.CounterName) ? request.CounterName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.CountUpValue != null)
{
jsonWriter.WritePropertyName("countUpValue");
jsonWriter.Write(request.CountUpValue.ToString());
}
if (request.MaxValue != null)
{
jsonWriter.WritePropertyName("maxValue");
jsonWriter.Write(request.MaxValue.ToString());
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
public override void OnError(Gs2.Core.Exception.Gs2Exception error)
{
if (error.Errors.Count(v => v.code == "limit.counter.overflow") > 0) {
base.OnError(new Exception.OverflowException(error));
}
else {
base.OnError(error);
}
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CountUpByUserId(
Request.CountUpByUserIdRequest request,
UnityAction<AsyncResult<Result.CountUpByUserIdResult>> callback
)
{
var task = new CountUpByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CountUpByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CountUpByUserIdResult> CountUpByUserIdFuture(
Request.CountUpByUserIdRequest request
)
{
return new CountUpByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CountUpByUserIdResult> CountUpByUserIdAsync(
Request.CountUpByUserIdRequest request
)
{
AsyncResult<Result.CountUpByUserIdResult> result = null;
await CountUpByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CountUpByUserIdTask CountUpByUserIdAsync(
Request.CountUpByUserIdRequest request
)
{
return new CountUpByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CountUpByUserIdResult> CountUpByUserIdAsync(
Request.CountUpByUserIdRequest request
)
{
var task = new CountUpByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CountDownByUserIdTask : Gs2RestSessionTask<CountDownByUserIdRequest, CountDownByUserIdResult>
{
public CountDownByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, CountDownByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CountDownByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/counter/{limitName}/{counterName}/decrease";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{limitName}", !string.IsNullOrEmpty(request.LimitName) ? request.LimitName.ToString() : "null");
url = url.Replace("{counterName}", !string.IsNullOrEmpty(request.CounterName) ? request.CounterName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.CountDownValue != null)
{
jsonWriter.WritePropertyName("countDownValue");
jsonWriter.Write(request.CountDownValue.ToString());
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CountDownByUserId(
Request.CountDownByUserIdRequest request,
UnityAction<AsyncResult<Result.CountDownByUserIdResult>> callback
)
{
var task = new CountDownByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CountDownByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.CountDownByUserIdResult> CountDownByUserIdFuture(
Request.CountDownByUserIdRequest request
)
{
return new CountDownByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CountDownByUserIdResult> CountDownByUserIdAsync(
Request.CountDownByUserIdRequest request
)
{
AsyncResult<Result.CountDownByUserIdResult> result = null;
await CountDownByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CountDownByUserIdTask CountDownByUserIdAsync(
Request.CountDownByUserIdRequest request
)
{
return new CountDownByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CountDownByUserIdResult> CountDownByUserIdAsync(
Request.CountDownByUserIdRequest request
)
{
var task = new CountDownByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteCounterByUserIdTask : Gs2RestSessionTask<DeleteCounterByUserIdRequest, DeleteCounterByUserIdResult>
{
public DeleteCounterByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, DeleteCounterByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteCounterByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/counter/{limitName}/{counterName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{limitName}", !string.IsNullOrEmpty(request.LimitName) ? request.LimitName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{counterName}", !string.IsNullOrEmpty(request.CounterName) ? request.CounterName.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteCounterByUserId(
Request.DeleteCounterByUserIdRequest request,
UnityAction<AsyncResult<Result.DeleteCounterByUserIdResult>> callback
)
{
var task = new DeleteCounterByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteCounterByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteCounterByUserIdResult> DeleteCounterByUserIdFuture(
Request.DeleteCounterByUserIdRequest request
)
{
return new DeleteCounterByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteCounterByUserIdResult> DeleteCounterByUserIdAsync(
Request.DeleteCounterByUserIdRequest request
)
{
AsyncResult<Result.DeleteCounterByUserIdResult> result = null;
await DeleteCounterByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteCounterByUserIdTask DeleteCounterByUserIdAsync(
Request.DeleteCounterByUserIdRequest request
)
{
return new DeleteCounterByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteCounterByUserIdResult> DeleteCounterByUserIdAsync(
Request.DeleteCounterByUserIdRequest request
)
{
var task = new DeleteCounterByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class VerifyCounterTask : Gs2RestSessionTask<VerifyCounterRequest, VerifyCounterResult>
{
public VerifyCounterTask(IGs2Session session, RestSessionRequestFactory factory, VerifyCounterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(VerifyCounterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/me/counter/{limitName}/{counterName}/verify/{verifyType}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{limitName}", !string.IsNullOrEmpty(request.LimitName) ? request.LimitName.ToString() : "null");
url = url.Replace("{counterName}", !string.IsNullOrEmpty(request.CounterName) ? request.CounterName.ToString() : "null");
url = url.Replace("{verifyType}", !string.IsNullOrEmpty(request.VerifyType) ? request.VerifyType.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Count != null)
{
jsonWriter.WritePropertyName("count");
jsonWriter.Write(request.Count.ToString());
}
if (request.MultiplyValueSpecifyingQuantity != null)
{
jsonWriter.WritePropertyName("multiplyValueSpecifyingQuantity");
jsonWriter.Write(request.MultiplyValueSpecifyingQuantity.ToString());
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.AccessToken != null)
{
sessionRequest.AddHeader("X-GS2-ACCESS-TOKEN", request.AccessToken);
}
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator VerifyCounter(
Request.VerifyCounterRequest request,
UnityAction<AsyncResult<Result.VerifyCounterResult>> callback
)
{
var task = new VerifyCounterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.VerifyCounterResult>(task.Result, task.Error));
}
public IFuture<Result.VerifyCounterResult> VerifyCounterFuture(
Request.VerifyCounterRequest request
)
{
return new VerifyCounterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.VerifyCounterResult> VerifyCounterAsync(
Request.VerifyCounterRequest request
)
{
AsyncResult<Result.VerifyCounterResult> result = null;
await VerifyCounter(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public VerifyCounterTask VerifyCounterAsync(
Request.VerifyCounterRequest request
)
{
return new VerifyCounterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.VerifyCounterResult> VerifyCounterAsync(
Request.VerifyCounterRequest request
)
{
var task = new VerifyCounterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class VerifyCounterByUserIdTask : Gs2RestSessionTask<VerifyCounterByUserIdRequest, VerifyCounterByUserIdResult>
{
public VerifyCounterByUserIdTask(IGs2Session session, RestSessionRequestFactory factory, VerifyCounterByUserIdRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(VerifyCounterByUserIdRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/user/{userId}/counter/{limitName}/{counterName}/verify/{verifyType}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{userId}", !string.IsNullOrEmpty(request.UserId) ? request.UserId.ToString() : "null");
url = url.Replace("{limitName}", !string.IsNullOrEmpty(request.LimitName) ? request.LimitName.ToString() : "null");
url = url.Replace("{counterName}", !string.IsNullOrEmpty(request.CounterName) ? request.CounterName.ToString() : "null");
url = url.Replace("{verifyType}", !string.IsNullOrEmpty(request.VerifyType) ? request.VerifyType.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Count != null)
{
jsonWriter.WritePropertyName("count");
jsonWriter.Write(request.Count.ToString());
}
if (request.MultiplyValueSpecifyingQuantity != null)
{
jsonWriter.WritePropertyName("multiplyValueSpecifyingQuantity");
jsonWriter.Write(request.MultiplyValueSpecifyingQuantity.ToString());
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DuplicationAvoider != null)
{
sessionRequest.AddHeader("X-GS2-DUPLICATION-AVOIDER", request.DuplicationAvoider);
}
if (request.TimeOffsetToken != null)
{
sessionRequest.AddHeader("X-GS2-TIME-OFFSET-TOKEN", request.TimeOffsetToken);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator VerifyCounterByUserId(
Request.VerifyCounterByUserIdRequest request,
UnityAction<AsyncResult<Result.VerifyCounterByUserIdResult>> callback
)
{
var task = new VerifyCounterByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.VerifyCounterByUserIdResult>(task.Result, task.Error));
}
public IFuture<Result.VerifyCounterByUserIdResult> VerifyCounterByUserIdFuture(
Request.VerifyCounterByUserIdRequest request
)
{
return new VerifyCounterByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.VerifyCounterByUserIdResult> VerifyCounterByUserIdAsync(
Request.VerifyCounterByUserIdRequest request
)
{
AsyncResult<Result.VerifyCounterByUserIdResult> result = null;
await VerifyCounterByUserId(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public VerifyCounterByUserIdTask VerifyCounterByUserIdAsync(
Request.VerifyCounterByUserIdRequest request
)
{
return new VerifyCounterByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.VerifyCounterByUserIdResult> VerifyCounterByUserIdAsync(
Request.VerifyCounterByUserIdRequest request
)
{
var task = new VerifyCounterByUserIdTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CountUpByStampTaskTask : Gs2RestSessionTask<CountUpByStampTaskRequest, CountUpByStampTaskResult>
{
public CountUpByStampTaskTask(IGs2Session session, RestSessionRequestFactory factory, CountUpByStampTaskRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CountUpByStampTaskRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/stamp/counter/increase";
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.StampTask != null)
{
jsonWriter.WritePropertyName("stampTask");
jsonWriter.Write(request.StampTask);
}
if (request.KeyId != null)
{
jsonWriter.WritePropertyName("keyId");
jsonWriter.Write(request.KeyId);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CountUpByStampTask(
Request.CountUpByStampTaskRequest request,
UnityAction<AsyncResult<Result.CountUpByStampTaskResult>> callback
)
{
var task = new CountUpByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CountUpByStampTaskResult>(task.Result, task.Error));
}
public IFuture<Result.CountUpByStampTaskResult> CountUpByStampTaskFuture(
Request.CountUpByStampTaskRequest request
)
{
return new CountUpByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CountUpByStampTaskResult> CountUpByStampTaskAsync(
Request.CountUpByStampTaskRequest request
)
{
AsyncResult<Result.CountUpByStampTaskResult> result = null;
await CountUpByStampTask(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CountUpByStampTaskTask CountUpByStampTaskAsync(
Request.CountUpByStampTaskRequest request
)
{
return new CountUpByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CountUpByStampTaskResult> CountUpByStampTaskAsync(
Request.CountUpByStampTaskRequest request
)
{
var task = new CountUpByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CountDownByStampSheetTask : Gs2RestSessionTask<CountDownByStampSheetRequest, CountDownByStampSheetResult>
{
public CountDownByStampSheetTask(IGs2Session session, RestSessionRequestFactory factory, CountDownByStampSheetRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CountDownByStampSheetRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/stamp/counter/decrease";
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.StampSheet != null)
{
jsonWriter.WritePropertyName("stampSheet");
jsonWriter.Write(request.StampSheet);
}
if (request.KeyId != null)
{
jsonWriter.WritePropertyName("keyId");
jsonWriter.Write(request.KeyId);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CountDownByStampSheet(
Request.CountDownByStampSheetRequest request,
UnityAction<AsyncResult<Result.CountDownByStampSheetResult>> callback
)
{
var task = new CountDownByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CountDownByStampSheetResult>(task.Result, task.Error));
}
public IFuture<Result.CountDownByStampSheetResult> CountDownByStampSheetFuture(
Request.CountDownByStampSheetRequest request
)
{
return new CountDownByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CountDownByStampSheetResult> CountDownByStampSheetAsync(
Request.CountDownByStampSheetRequest request
)
{
AsyncResult<Result.CountDownByStampSheetResult> result = null;
await CountDownByStampSheet(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CountDownByStampSheetTask CountDownByStampSheetAsync(
Request.CountDownByStampSheetRequest request
)
{
return new CountDownByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CountDownByStampSheetResult> CountDownByStampSheetAsync(
Request.CountDownByStampSheetRequest request
)
{
var task = new CountDownByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteByStampSheetTask : Gs2RestSessionTask<DeleteByStampSheetRequest, DeleteByStampSheetResult>
{
public DeleteByStampSheetTask(IGs2Session session, RestSessionRequestFactory factory, DeleteByStampSheetRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteByStampSheetRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/stamp/counter/delete";
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.StampSheet != null)
{
jsonWriter.WritePropertyName("stampSheet");
jsonWriter.Write(request.StampSheet);
}
if (request.KeyId != null)
{
jsonWriter.WritePropertyName("keyId");
jsonWriter.Write(request.KeyId);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteByStampSheet(
Request.DeleteByStampSheetRequest request,
UnityAction<AsyncResult<Result.DeleteByStampSheetResult>> callback
)
{
var task = new DeleteByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteByStampSheetResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteByStampSheetResult> DeleteByStampSheetFuture(
Request.DeleteByStampSheetRequest request
)
{
return new DeleteByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteByStampSheetResult> DeleteByStampSheetAsync(
Request.DeleteByStampSheetRequest request
)
{
AsyncResult<Result.DeleteByStampSheetResult> result = null;
await DeleteByStampSheet(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteByStampSheetTask DeleteByStampSheetAsync(
Request.DeleteByStampSheetRequest request
)
{
return new DeleteByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteByStampSheetResult> DeleteByStampSheetAsync(
Request.DeleteByStampSheetRequest request
)
{
var task = new DeleteByStampSheetTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class VerifyCounterByStampTaskTask : Gs2RestSessionTask<VerifyCounterByStampTaskRequest, VerifyCounterByStampTaskResult>
{
public VerifyCounterByStampTaskTask(IGs2Session session, RestSessionRequestFactory factory, VerifyCounterByStampTaskRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(VerifyCounterByStampTaskRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/stamp/counter/verify";
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.StampTask != null)
{
jsonWriter.WritePropertyName("stampTask");
jsonWriter.Write(request.StampTask);
}
if (request.KeyId != null)
{
jsonWriter.WritePropertyName("keyId");
jsonWriter.Write(request.KeyId);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator VerifyCounterByStampTask(
Request.VerifyCounterByStampTaskRequest request,
UnityAction<AsyncResult<Result.VerifyCounterByStampTaskResult>> callback
)
{
var task = new VerifyCounterByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.VerifyCounterByStampTaskResult>(task.Result, task.Error));
}
public IFuture<Result.VerifyCounterByStampTaskResult> VerifyCounterByStampTaskFuture(
Request.VerifyCounterByStampTaskRequest request
)
{
return new VerifyCounterByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.VerifyCounterByStampTaskResult> VerifyCounterByStampTaskAsync(
Request.VerifyCounterByStampTaskRequest request
)
{
AsyncResult<Result.VerifyCounterByStampTaskResult> result = null;
await VerifyCounterByStampTask(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public VerifyCounterByStampTaskTask VerifyCounterByStampTaskAsync(
Request.VerifyCounterByStampTaskRequest request
)
{
return new VerifyCounterByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.VerifyCounterByStampTaskResult> VerifyCounterByStampTaskAsync(
Request.VerifyCounterByStampTaskRequest request
)
{
var task = new VerifyCounterByStampTaskTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeLimitModelMastersTask : Gs2RestSessionTask<DescribeLimitModelMastersRequest, DescribeLimitModelMastersResult>
{
public DescribeLimitModelMastersTask(IGs2Session session, RestSessionRequestFactory factory, DescribeLimitModelMastersRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeLimitModelMastersRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/limit";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.PageToken != null) {
sessionRequest.AddQueryString("pageToken", $"{request.PageToken}");
}
if (request.Limit != null) {
sessionRequest.AddQueryString("limit", $"{request.Limit}");
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeLimitModelMasters(
Request.DescribeLimitModelMastersRequest request,
UnityAction<AsyncResult<Result.DescribeLimitModelMastersResult>> callback
)
{
var task = new DescribeLimitModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeLimitModelMastersResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeLimitModelMastersResult> DescribeLimitModelMastersFuture(
Request.DescribeLimitModelMastersRequest request
)
{
return new DescribeLimitModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeLimitModelMastersResult> DescribeLimitModelMastersAsync(
Request.DescribeLimitModelMastersRequest request
)
{
AsyncResult<Result.DescribeLimitModelMastersResult> result = null;
await DescribeLimitModelMasters(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeLimitModelMastersTask DescribeLimitModelMastersAsync(
Request.DescribeLimitModelMastersRequest request
)
{
return new DescribeLimitModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeLimitModelMastersResult> DescribeLimitModelMastersAsync(
Request.DescribeLimitModelMastersRequest request
)
{
var task = new DescribeLimitModelMastersTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class CreateLimitModelMasterTask : Gs2RestSessionTask<CreateLimitModelMasterRequest, CreateLimitModelMasterResult>
{
public CreateLimitModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, CreateLimitModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(CreateLimitModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/limit";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Post(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Name != null)
{
jsonWriter.WritePropertyName("name");
jsonWriter.Write(request.Name);
}
if (request.Description != null)
{
jsonWriter.WritePropertyName("description");
jsonWriter.Write(request.Description);
}
if (request.Metadata != null)
{
jsonWriter.WritePropertyName("metadata");
jsonWriter.Write(request.Metadata);
}
if (request.ResetType != null)
{
jsonWriter.WritePropertyName("resetType");
jsonWriter.Write(request.ResetType);
}
if (request.ResetDayOfMonth != null)
{
jsonWriter.WritePropertyName("resetDayOfMonth");
jsonWriter.Write(request.ResetDayOfMonth.ToString());
}
if (request.ResetDayOfWeek != null)
{
jsonWriter.WritePropertyName("resetDayOfWeek");
jsonWriter.Write(request.ResetDayOfWeek);
}
if (request.ResetHour != null)
{
jsonWriter.WritePropertyName("resetHour");
jsonWriter.Write(request.ResetHour.ToString());
}
if (request.AnchorTimestamp != null)
{
jsonWriter.WritePropertyName("anchorTimestamp");
jsonWriter.Write(request.AnchorTimestamp.ToString());
}
if (request.Days != null)
{
jsonWriter.WritePropertyName("days");
jsonWriter.Write(request.Days.ToString());
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator CreateLimitModelMaster(
Request.CreateLimitModelMasterRequest request,
UnityAction<AsyncResult<Result.CreateLimitModelMasterResult>> callback
)
{
var task = new CreateLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.CreateLimitModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.CreateLimitModelMasterResult> CreateLimitModelMasterFuture(
Request.CreateLimitModelMasterRequest request
)
{
return new CreateLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.CreateLimitModelMasterResult> CreateLimitModelMasterAsync(
Request.CreateLimitModelMasterRequest request
)
{
AsyncResult<Result.CreateLimitModelMasterResult> result = null;
await CreateLimitModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public CreateLimitModelMasterTask CreateLimitModelMasterAsync(
Request.CreateLimitModelMasterRequest request
)
{
return new CreateLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.CreateLimitModelMasterResult> CreateLimitModelMasterAsync(
Request.CreateLimitModelMasterRequest request
)
{
var task = new CreateLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetLimitModelMasterTask : Gs2RestSessionTask<GetLimitModelMasterRequest, GetLimitModelMasterResult>
{
public GetLimitModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, GetLimitModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetLimitModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/limit/{limitName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{limitName}", !string.IsNullOrEmpty(request.LimitName) ? request.LimitName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetLimitModelMaster(
Request.GetLimitModelMasterRequest request,
UnityAction<AsyncResult<Result.GetLimitModelMasterResult>> callback
)
{
var task = new GetLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetLimitModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.GetLimitModelMasterResult> GetLimitModelMasterFuture(
Request.GetLimitModelMasterRequest request
)
{
return new GetLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetLimitModelMasterResult> GetLimitModelMasterAsync(
Request.GetLimitModelMasterRequest request
)
{
AsyncResult<Result.GetLimitModelMasterResult> result = null;
await GetLimitModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetLimitModelMasterTask GetLimitModelMasterAsync(
Request.GetLimitModelMasterRequest request
)
{
return new GetLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetLimitModelMasterResult> GetLimitModelMasterAsync(
Request.GetLimitModelMasterRequest request
)
{
var task = new GetLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateLimitModelMasterTask : Gs2RestSessionTask<UpdateLimitModelMasterRequest, UpdateLimitModelMasterResult>
{
public UpdateLimitModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, UpdateLimitModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateLimitModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/limit/{limitName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{limitName}", !string.IsNullOrEmpty(request.LimitName) ? request.LimitName.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Description != null)
{
jsonWriter.WritePropertyName("description");
jsonWriter.Write(request.Description);
}
if (request.Metadata != null)
{
jsonWriter.WritePropertyName("metadata");
jsonWriter.Write(request.Metadata);
}
if (request.ResetType != null)
{
jsonWriter.WritePropertyName("resetType");
jsonWriter.Write(request.ResetType);
}
if (request.ResetDayOfMonth != null)
{
jsonWriter.WritePropertyName("resetDayOfMonth");
jsonWriter.Write(request.ResetDayOfMonth.ToString());
}
if (request.ResetDayOfWeek != null)
{
jsonWriter.WritePropertyName("resetDayOfWeek");
jsonWriter.Write(request.ResetDayOfWeek);
}
if (request.ResetHour != null)
{
jsonWriter.WritePropertyName("resetHour");
jsonWriter.Write(request.ResetHour.ToString());
}
if (request.AnchorTimestamp != null)
{
jsonWriter.WritePropertyName("anchorTimestamp");
jsonWriter.Write(request.AnchorTimestamp.ToString());
}
if (request.Days != null)
{
jsonWriter.WritePropertyName("days");
jsonWriter.Write(request.Days.ToString());
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateLimitModelMaster(
Request.UpdateLimitModelMasterRequest request,
UnityAction<AsyncResult<Result.UpdateLimitModelMasterResult>> callback
)
{
var task = new UpdateLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateLimitModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateLimitModelMasterResult> UpdateLimitModelMasterFuture(
Request.UpdateLimitModelMasterRequest request
)
{
return new UpdateLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateLimitModelMasterResult> UpdateLimitModelMasterAsync(
Request.UpdateLimitModelMasterRequest request
)
{
AsyncResult<Result.UpdateLimitModelMasterResult> result = null;
await UpdateLimitModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateLimitModelMasterTask UpdateLimitModelMasterAsync(
Request.UpdateLimitModelMasterRequest request
)
{
return new UpdateLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateLimitModelMasterResult> UpdateLimitModelMasterAsync(
Request.UpdateLimitModelMasterRequest request
)
{
var task = new UpdateLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DeleteLimitModelMasterTask : Gs2RestSessionTask<DeleteLimitModelMasterRequest, DeleteLimitModelMasterResult>
{
public DeleteLimitModelMasterTask(IGs2Session session, RestSessionRequestFactory factory, DeleteLimitModelMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DeleteLimitModelMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/limit/{limitName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{limitName}", !string.IsNullOrEmpty(request.LimitName) ? request.LimitName.ToString() : "null");
var sessionRequest = Factory.Delete(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DeleteLimitModelMaster(
Request.DeleteLimitModelMasterRequest request,
UnityAction<AsyncResult<Result.DeleteLimitModelMasterResult>> callback
)
{
var task = new DeleteLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DeleteLimitModelMasterResult>(task.Result, task.Error));
}
public IFuture<Result.DeleteLimitModelMasterResult> DeleteLimitModelMasterFuture(
Request.DeleteLimitModelMasterRequest request
)
{
return new DeleteLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DeleteLimitModelMasterResult> DeleteLimitModelMasterAsync(
Request.DeleteLimitModelMasterRequest request
)
{
AsyncResult<Result.DeleteLimitModelMasterResult> result = null;
await DeleteLimitModelMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DeleteLimitModelMasterTask DeleteLimitModelMasterAsync(
Request.DeleteLimitModelMasterRequest request
)
{
return new DeleteLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DeleteLimitModelMasterResult> DeleteLimitModelMasterAsync(
Request.DeleteLimitModelMasterRequest request
)
{
var task = new DeleteLimitModelMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class ExportMasterTask : Gs2RestSessionTask<ExportMasterRequest, ExportMasterResult>
{
public ExportMasterTask(IGs2Session session, RestSessionRequestFactory factory, ExportMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(ExportMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/export";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator ExportMaster(
Request.ExportMasterRequest request,
UnityAction<AsyncResult<Result.ExportMasterResult>> callback
)
{
var task = new ExportMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.ExportMasterResult>(task.Result, task.Error));
}
public IFuture<Result.ExportMasterResult> ExportMasterFuture(
Request.ExportMasterRequest request
)
{
return new ExportMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.ExportMasterResult> ExportMasterAsync(
Request.ExportMasterRequest request
)
{
AsyncResult<Result.ExportMasterResult> result = null;
await ExportMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public ExportMasterTask ExportMasterAsync(
Request.ExportMasterRequest request
)
{
return new ExportMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.ExportMasterResult> ExportMasterAsync(
Request.ExportMasterRequest request
)
{
var task = new ExportMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetCurrentLimitMasterTask : Gs2RestSessionTask<GetCurrentLimitMasterRequest, GetCurrentLimitMasterResult>
{
public GetCurrentLimitMasterTask(IGs2Session session, RestSessionRequestFactory factory, GetCurrentLimitMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetCurrentLimitMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetCurrentLimitMaster(
Request.GetCurrentLimitMasterRequest request,
UnityAction<AsyncResult<Result.GetCurrentLimitMasterResult>> callback
)
{
var task = new GetCurrentLimitMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetCurrentLimitMasterResult>(task.Result, task.Error));
}
public IFuture<Result.GetCurrentLimitMasterResult> GetCurrentLimitMasterFuture(
Request.GetCurrentLimitMasterRequest request
)
{
return new GetCurrentLimitMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetCurrentLimitMasterResult> GetCurrentLimitMasterAsync(
Request.GetCurrentLimitMasterRequest request
)
{
AsyncResult<Result.GetCurrentLimitMasterResult> result = null;
await GetCurrentLimitMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetCurrentLimitMasterTask GetCurrentLimitMasterAsync(
Request.GetCurrentLimitMasterRequest request
)
{
return new GetCurrentLimitMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetCurrentLimitMasterResult> GetCurrentLimitMasterAsync(
Request.GetCurrentLimitMasterRequest request
)
{
var task = new GetCurrentLimitMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateCurrentLimitMasterTask : Gs2RestSessionTask<UpdateCurrentLimitMasterRequest, UpdateCurrentLimitMasterResult>
{
public UpdateCurrentLimitMasterTask(IGs2Session session, RestSessionRequestFactory factory, UpdateCurrentLimitMasterRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateCurrentLimitMasterRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.Settings != null)
{
jsonWriter.WritePropertyName("settings");
jsonWriter.Write(request.Settings);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateCurrentLimitMaster(
Request.UpdateCurrentLimitMasterRequest request,
UnityAction<AsyncResult<Result.UpdateCurrentLimitMasterResult>> callback
)
{
var task = new UpdateCurrentLimitMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateCurrentLimitMasterResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateCurrentLimitMasterResult> UpdateCurrentLimitMasterFuture(
Request.UpdateCurrentLimitMasterRequest request
)
{
return new UpdateCurrentLimitMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateCurrentLimitMasterResult> UpdateCurrentLimitMasterAsync(
Request.UpdateCurrentLimitMasterRequest request
)
{
AsyncResult<Result.UpdateCurrentLimitMasterResult> result = null;
await UpdateCurrentLimitMaster(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateCurrentLimitMasterTask UpdateCurrentLimitMasterAsync(
Request.UpdateCurrentLimitMasterRequest request
)
{
return new UpdateCurrentLimitMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateCurrentLimitMasterResult> UpdateCurrentLimitMasterAsync(
Request.UpdateCurrentLimitMasterRequest request
)
{
var task = new UpdateCurrentLimitMasterTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class UpdateCurrentLimitMasterFromGitHubTask : Gs2RestSessionTask<UpdateCurrentLimitMasterFromGitHubRequest, UpdateCurrentLimitMasterFromGitHubResult>
{
public UpdateCurrentLimitMasterFromGitHubTask(IGs2Session session, RestSessionRequestFactory factory, UpdateCurrentLimitMasterFromGitHubRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(UpdateCurrentLimitMasterFromGitHubRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/master/from_git_hub";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Put(url);
var stringBuilder = new StringBuilder();
var jsonWriter = new JsonWriter(stringBuilder);
jsonWriter.WriteObjectStart();
if (request.CheckoutSetting != null)
{
jsonWriter.WritePropertyName("checkoutSetting");
request.CheckoutSetting.WriteJson(jsonWriter);
}
if (request.ContextStack != null)
{
jsonWriter.WritePropertyName("contextStack");
jsonWriter.Write(request.ContextStack.ToString());
}
jsonWriter.WriteObjectEnd();
var body = stringBuilder.ToString();
if (!string.IsNullOrEmpty(body))
{
sessionRequest.Body = body;
}
sessionRequest.AddHeader("Content-Type", "application/json");
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator UpdateCurrentLimitMasterFromGitHub(
Request.UpdateCurrentLimitMasterFromGitHubRequest request,
UnityAction<AsyncResult<Result.UpdateCurrentLimitMasterFromGitHubResult>> callback
)
{
var task = new UpdateCurrentLimitMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.UpdateCurrentLimitMasterFromGitHubResult>(task.Result, task.Error));
}
public IFuture<Result.UpdateCurrentLimitMasterFromGitHubResult> UpdateCurrentLimitMasterFromGitHubFuture(
Request.UpdateCurrentLimitMasterFromGitHubRequest request
)
{
return new UpdateCurrentLimitMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.UpdateCurrentLimitMasterFromGitHubResult> UpdateCurrentLimitMasterFromGitHubAsync(
Request.UpdateCurrentLimitMasterFromGitHubRequest request
)
{
AsyncResult<Result.UpdateCurrentLimitMasterFromGitHubResult> result = null;
await UpdateCurrentLimitMasterFromGitHub(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public UpdateCurrentLimitMasterFromGitHubTask UpdateCurrentLimitMasterFromGitHubAsync(
Request.UpdateCurrentLimitMasterFromGitHubRequest request
)
{
return new UpdateCurrentLimitMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.UpdateCurrentLimitMasterFromGitHubResult> UpdateCurrentLimitMasterFromGitHubAsync(
Request.UpdateCurrentLimitMasterFromGitHubRequest request
)
{
var task = new UpdateCurrentLimitMasterFromGitHubTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class DescribeLimitModelsTask : Gs2RestSessionTask<DescribeLimitModelsRequest, DescribeLimitModelsResult>
{
public DescribeLimitModelsTask(IGs2Session session, RestSessionRequestFactory factory, DescribeLimitModelsRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(DescribeLimitModelsRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/limit";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator DescribeLimitModels(
Request.DescribeLimitModelsRequest request,
UnityAction<AsyncResult<Result.DescribeLimitModelsResult>> callback
)
{
var task = new DescribeLimitModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.DescribeLimitModelsResult>(task.Result, task.Error));
}
public IFuture<Result.DescribeLimitModelsResult> DescribeLimitModelsFuture(
Request.DescribeLimitModelsRequest request
)
{
return new DescribeLimitModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.DescribeLimitModelsResult> DescribeLimitModelsAsync(
Request.DescribeLimitModelsRequest request
)
{
AsyncResult<Result.DescribeLimitModelsResult> result = null;
await DescribeLimitModels(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public DescribeLimitModelsTask DescribeLimitModelsAsync(
Request.DescribeLimitModelsRequest request
)
{
return new DescribeLimitModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.DescribeLimitModelsResult> DescribeLimitModelsAsync(
Request.DescribeLimitModelsRequest request
)
{
var task = new DescribeLimitModelsTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
public class GetLimitModelTask : Gs2RestSessionTask<GetLimitModelRequest, GetLimitModelResult>
{
public GetLimitModelTask(IGs2Session session, RestSessionRequestFactory factory, GetLimitModelRequest request) : base(session, factory, request)
{
}
protected override IGs2SessionRequest CreateRequest(GetLimitModelRequest request)
{
var url = Gs2RestSession.EndpointHost
.Replace("{service}", "limit")
.Replace("{region}", Session.Region.DisplayName())
+ "/{namespaceName}/limit/{limitName}";
url = url.Replace("{namespaceName}", !string.IsNullOrEmpty(request.NamespaceName) ? request.NamespaceName.ToString() : "null");
url = url.Replace("{limitName}", !string.IsNullOrEmpty(request.LimitName) ? request.LimitName.ToString() : "null");
var sessionRequest = Factory.Get(url);
if (request.ContextStack != null)
{
sessionRequest.AddQueryString("contextStack", request.ContextStack);
}
if (request.DryRun)
{
sessionRequest.AddHeader("X-GS2-DRY-RUN", "true");
}
AddHeader(
Session.Credential,
sessionRequest
);
return sessionRequest;
}
}
#if UNITY_2017_1_OR_NEWER
public IEnumerator GetLimitModel(
Request.GetLimitModelRequest request,
UnityAction<AsyncResult<Result.GetLimitModelResult>> callback
)
{
var task = new GetLimitModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
yield return task;
callback.Invoke(new AsyncResult<Result.GetLimitModelResult>(task.Result, task.Error));
}
public IFuture<Result.GetLimitModelResult> GetLimitModelFuture(
Request.GetLimitModelRequest request
)
{
return new GetLimitModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#if GS2_ENABLE_UNITASK
public async UniTask<Result.GetLimitModelResult> GetLimitModelAsync(
Request.GetLimitModelRequest request
)
{
AsyncResult<Result.GetLimitModelResult> result = null;
await GetLimitModel(
request,
r => result = r
);
if (result.Error != null)
{
throw result.Error;
}
return result.Result;
}
#else
public GetLimitModelTask GetLimitModelAsync(
Request.GetLimitModelRequest request
)
{
return new GetLimitModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new UnityRestSessionRequest(_certificateHandler)),
request
);
}
#endif
#else
public async Task<Result.GetLimitModelResult> GetLimitModelAsync(
Request.GetLimitModelRequest request
)
{
var task = new GetLimitModelTask(
Gs2RestSession,
new RestSessionRequestFactory(() => new DotNetRestSessionRequest()),
request
);
return await task.Invoke();
}
#endif
}
}