Example #1
0
        public async Task <Domain> Get(ISettings settings, Guid id)
        {
            IRequest request = _service.CreateRequest(new Uri(settings.BaseAddress), HttpMethod.Get)
                               .AddPath("Domain/{id}")
                               .AddPathParameter("id", id.ToString())
                               .AddJwtAuthorizationToken(settings.GetToken)
            ;
            IResponse <Domain> response = await Policy
                                          .HandleResult <IResponse <Domain> >(res => !res.IsSuccessStatusCode)
                                          .WaitAndRetryAsync(3, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)))
                                          .ExecuteAsync(() => _service.Send <Domain>(request))
            ;

            _restUtil.CheckSuccess(response);
            return(response.Value);
        }
Example #2
0
        public async Task <string> CreateClientCredentialToken(ISettings settings, ClientCredential clientCredential)
        {
            UriBuilder builder = new UriBuilder(settings.BaseAddress);

            builder.Path = string.Concat(builder.Path.Trim('/'), "/", "Token/ClientCredential").Trim('/');
            IResponse <string> response = await Policy
                                          .HandleResult <IResponse <string> >(res => !res.IsSuccessStatusCode)
                                          .WaitAndRetryAsync(3, retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt)))
                                          .ExecuteAsync(() => _service.Post <string>(builder.Uri, clientCredential))
            ;

            _restUtil.CheckSuccess(response);
            return(response.Value);
        }