public async void SendRequestNative <T>(string uri, RequestHTTPMethod method, string data, Dictionary <string, string> requestHeader, Action <T> successCallback, Action <string> errorCallback = null) { HttpClient client = new HttpClient(); // Add a new Request Message HttpRequestMessage requestMessage = new HttpRequestMessage(ConvertToHttpMethod(method), uri); // Add our custom headers if (requestHeader != null) { foreach (var item in requestHeader) { requestMessage.Headers.Add(item.Key, item.Value); } } // Add request body if (data != null) { byte[] array = Encoding.Unicode.GetBytes(data); requestMessage.Content = new ByteArrayContent(array); } // Send the request to the server try { using (HttpResponseMessage response = await client.SendAsync(requestMessage)) { using (HttpContent content = response.Content) { string result = await content.ReadAsStringAsync(); T dataObj = JsonConvert.DeserializeObject <T>(result); if (successCallback != null) { successCallback(dataObj); } } } } catch (Exception ex) { if (errorCallback != null) { errorCallback(ex.Message); } } finally { client.Dispose(); } }
public HttpMethod ConvertToHttpMethod(RequestHTTPMethod method) { switch (method) { case RequestHTTPMethod.GET: return(HttpMethod.Get); case RequestHTTPMethod.DELETE: return(HttpMethod.Delete); case RequestHTTPMethod.POST: return(HttpMethod.Post); case RequestHTTPMethod.PUT: return(HttpMethod.Put); } return(HttpMethod.Get); }
public async void SendRequestNative <T>(string uri, RequestHTTPMethod method, string data, Action <T> successCallback, Action <string> errorCallback = null) { SendRequestNative <T> (uri, method, data, null, successCallback, errorCallback); }
public async void SendRequestNative(string uri, RequestHTTPMethod method, Dictionary <string, string> requestHeaders, Action <string> successCallback = null, Action <string> errorCallback = null) { SendRequestNative(uri, method, null, requestHeaders, successCallback, errorCallback); }
public async void SendRequestNative(string uri, RequestHTTPMethod method, Action <string> successCallback = null, Action <string> errorCallback = null) { SendRequestNative(uri, method, null, null, successCallback, errorCallback); }