Example #1
0
        public async Task <ConsulResponse <TransactionResponseModel> > CreateAsync(ConsulRequest <TransactionRequestModel> request)
        {
            var status = TransactionStatus.Success;

            var response = await _polymath.MakeConsulApiRequest <TransactionResponseModel>(request, "v1/txn" + request.RequestData.ToQueryString(), HttpMethod.Put, request.RequestData.Operations, postResponseFunc : httpResponseMessage =>
            {
                if (httpResponseMessage.StatusCode == System.Net.HttpStatusCode.Conflict)
                {
                    status = TransactionStatus.Rollback;
                    return(true);
                }

                return(false);
            }
                                                                                           ).ConfigureAwait(_polymath.ConsulClientSettings.ContinueAsyncTasksOnCapturedContext);

            response.Data.Status = status;
            return(response);
        }
        public async Task <ConsulResponse <bool> > WriteAsync(ConsulRequest <WriteKeyValueModel> request)
        {
            var response = await _polymath.MakeConsulApiRequest <string>(request, "v1/kv/" + request.RequestData.Key.TrimStart('/') + request.RequestData.ToQueryString(), HttpMethod.Put, request.RequestData.Value, rawRequest : true, rawResponse : true).ConfigureAwait(_polymath.ConsulClientSettings.ContinueAsyncTasksOnCapturedContext);

            return(response.Map(() => bool.Parse(response.Data)));
        }
Example #3
0
        public async Task <string> BootstrapAsync()
        {
            var jtoken = await _polymath.MakeConsulApiRequest <JToken>("v1/acl/bootstrap", HttpMethod.Put).ConfigureAwait(_polymath.ConsulClientSettings.ContinueAsyncTasksOnCapturedContext);

            return(jtoken["ID"].Value <string>());
        }
Example #4
0
        public async Task <ConsulResponse <Dictionary <string, AgentServiceModel> > > ListAsync(ConsulRequest <string> request = null)
        {
            var qs = string.IsNullOrEmpty(request?.RequestData) ? string.Empty : "?filter=" + request.RequestData;

            return(await _polymath.MakeConsulApiRequest <Dictionary <string, AgentServiceModel> >(request, "v1/agent/services" + qs, HttpMethod.Get).ConfigureAwait(_polymath.ConsulClientSettings.ContinueAsyncTasksOnCapturedContext));
        }
Example #5
0
 public async Task <ConsulResponse <List <MemberModel> > > ListMembersAsync(ConsulRequest <ListMemberRequest> request = null)
 {
     return(await _polymath.MakeConsulApiRequest <List <MemberModel> >(request, "v1/agent/members" + GetQueryString(request.RequestData), HttpMethod.Get).ConfigureAwait(_polymath.ConsulClientSettings.ContinueAsyncTasksOnCapturedContext));
 }
Example #6
0
 public async Task <ConsulResponse <PolicyModel> > CreateAsync(ConsulRequest <CreatePolicyRequest> request)
 {
     return(await _polymath.MakeConsulApiRequest <PolicyModel>(request, "v1/acl/policy", HttpMethod.Put, request.RequestData).ConfigureAwait(_polymath.ConsulClientSettings.ContinueAsyncTasksOnCapturedContext));
 }
Example #7
0
        public async Task <ConsulResponse <string> > CreateAsync(ConsulRequest <SessionRequestModel> request)
        {
            var jtokenResponse = await _polymath.MakeConsulApiRequest <JToken>(request, "v1/session/create" + request.RequestData.ToQueryString(), HttpMethod.Put, request.RequestData).ConfigureAwait(_polymath.ConsulClientSettings.ContinueAsyncTasksOnCapturedContext);

            return(jtokenResponse.Map(() => jtokenResponse.Data["ID"].Value <string>()));
        }
 public async Task <ConsulResponse <byte[]> > GenerateAsync(ConsulRequest <SnapshotRequestModel> request = null)
 {
     return(await _polymath.MakeConsulApiRequest <byte[]>(request, "v1/snapshot" + ((request != null && request.RequestData != null) ? request.RequestData.ToQueryString() : string.Empty), HttpMethod.Get, rawResponse : true).ConfigureAwait(_polymath.ConsulClientSettings.ContinueAsyncTasksOnCapturedContext));
 }
Example #9
0
 public async Task <ConsulResponse <BootstrapResponse> > BootstrapAsync(ConsulRequest request = null)
 {
     return(await _polymath.MakeConsulApiRequest <BootstrapResponse>(request, "v1/acl/bootstrap", HttpMethod.Put).ConfigureAwait(_polymath.ConsulClientSettings.ContinueAsyncTasksOnCapturedContext));
 }
Example #10
0
 public async Task <ConsulResponse <string> > GetRaftLeaderAsync(ConsulRequest request = null)
 {
     return(await _polymath.MakeConsulApiRequest <string>(request, "v1/status/leader", HttpMethod.Get, rawResponse : true).ConfigureAwait(_polymath.ConsulClientSettings.ContinueAsyncTasksOnCapturedContext));
 }
Example #11
0
 public async Task <ConsulResponse <EventModel> > FireAsync(ConsulRequest <FireEventModel> request)
 {
     return(await _polymath.MakeConsulApiRequest <EventModel>(request, "v1/event/fire/" + request.RequestData.Name + request.RequestData.ToQueryString(), HttpMethod.Put, request.RequestData.RawPayload, rawRequest : true).ConfigureAwait(_polymath.ConsulClientSettings.ContinueAsyncTasksOnCapturedContext));
 }