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)); }
public async Task <HttpResponseMessage> ExecuteAdvancedCircuitBreaker(GenerateResponseRequestWaitWhat request) => await _advancedCircuitBreakerClient.CallUnreliableEndpoint(request);
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)); }