public async Task <CustomResponse> PostRequest(string url, dynamic userInput) { using (HttpClient client = new HttpClient()) { HttpContent q = new FormUrlEncodedContent(GetBodyQueries(userInput)); using (HttpResponseMessage responseMessage = await client.PostAsync(url, q)) { using (HttpContent content = responseMessage.Content) { var customResponse = new CustomResponse { StatusCode = responseMessage.StatusCode, ResponseContent = await content.ReadAsStringAsync(), }; Console.WriteLine(customResponse.ToString()); Log.Debug(customResponse.ToString()); if (!customResponse.IsServiceUnAvailable) { customResponse.ResponseFullModel = await content.ReadAsAsync <ResponseFullModel>(); } else { ConsoleHelper.WaitMilliseconds(20000); } return(customResponse); } } } }