private HttpStatusCode PerformHttpOperation(HttpVerb httpVerb, Func <HttpClient, Task <HttpResponseMessage> > asyncHttpMethod) { HttpStatusCode status; using (var httpClient = _httpClientFactory.CreateFor(httpVerb)) { var response = asyncHttpMethod(httpClient); response.Wait(); if (response.IsFaulted || (response.Exception != null)) { status = HttpStatusCode.BadRequest; } else { var result = response.Result; status = result.StatusCode; } } return(status); }