Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- protected async Task<Tuple<HttpStatusCode, TOutput>> MakeRequest<TInput, TOutput>(string baseAdrress, string apiUrl, TInput data)
- {
- var contentData = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json");
- var client = new HttpClient();
- client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
- client.BaseAddress = new Uri(baseAdrress);
- var response = await client.SendAsync(new HttpRequestMessage
- {
- RequestUri = new Uri(apiUrl, UriKind.Relative),
- Content = contentData,
- Method = HttpMethod.Post
- });
- if (response.StatusCode == HttpStatusCode.InternalServerError)
- {
- return Tuple.Create(HttpStatusCode.InternalServerError, default(TOutput));
- }
- var stringData = await response.Content.ReadAsStringAsync();
- var jsonData = JsonConvert.DeserializeObject<TOutput>(stringData);
- return Tuple.Create(HttpStatusCode.OK, jsonData);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement