public async Task <HttpResponseMessage> CallUnreliableEndpoint(GenerateResponseRequestWaitWhat request, CancellationToken cancellationToken = default)
        {
            if (_httpClient.BaseAddress == null)
            {
                _httpClient.BaseAddress = new Uri($"{contextAccessor.HttpContext.Request.Scheme}://{contextAccessor.HttpContext.Request.Host}");
            }

            var content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json");

            return(await _httpClient.PostAsync("unreliable-endpoints", content, cancellationToken));
        }
Beispiel #2
0
 public async Task <HttpResponseMessage> ExecuteAdvancedCircuitBreaker(GenerateResponseRequestWaitWhat request) =>
 await _advancedCircuitBreakerClient.CallUnreliableEndpoint(request);
Beispiel #3
0
 public async Task <HttpResponseMessage> ExecuteWrappedPolicy(GenerateResponseRequestWaitWhat request) =>
 await _policiedClient.CallUnreliableEndpoint(request);
        public async Task <ActionResult> ChooseYourDestiny(GenerateResponseRequestWaitWhat shrug)
        {
            await Task.Delay(shrug.DelayInMilliseconds);

            return(new StatusCodeResult((int)shrug.HttpStatusCode));
        }