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); }
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); }