public void createRESTRequest(RESTRequest rest_request, string URI, string method, string body) { HttpWebRequest req = WebRequest.Create(new Uri(URI)) as HttpWebRequest; req.Method = method; req.Headers["Authorization"] = "OAuth " + OAuthConnection.AccessToken; req.Headers["User-Agent"] = "salesforce-toolkit/Windows7/20"; if (method == "POST" || method == "PATCH") { req.ContentType = "application/json"; req.BeginGetRequestStream( (result) => { HttpWebRequest request = (HttpWebRequest)result.AsyncState; System.IO.Stream postStream = request.EndGetRequestStream(result); string postData = body; byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(postData); // Write to the request stream. postStream.Write(byteArray, 0, postData.Length); postStream.Close(); // Start the asynchronous operation to get the response request.BeginGetResponse( (postresult) => { try { RESTResult restresult = new RESTResult(); restresult.request = rest_request; restresult.data = getHTTPResult(postresult,method); restresult.request.callback( restresult ); } catch (WebException wex) { RESTResult restresult = new RESTResult(); restresult.request = rest_request; string error = handleHTTPError(wex); restresult.data = JObject.Parse(error.Substring(1, error.Length - 1)); restresult.message = (string)restresult.data["message"]; restresult.request.errorCallback( restresult ); } }, req); }, req); } else { req.BeginGetResponse( (result) => { try { RESTResult restresult = new RESTResult(); restresult.request = rest_request; restresult.data = getHTTPResult(result, method); restresult.request.callback(restresult); } catch (WebException wex) { RESTResult restresult = new RESTResult(); restresult.request = rest_request; string error = handleHTTPError(wex); restresult.data = JObject.Parse(error.Substring(1, error.Length - 1)); restresult.message = (string)restresult.data["message"]; restresult.request.errorCallback(restresult); } }, req); } }
public void createRESTRequest(RESTRequest rest_request, string URI, string method, string body) { HttpWebRequest req = WebRequest.Create(new Uri(URI)) as HttpWebRequest; req.Method = method; req.Headers["Authorization"] = "OAuth " + OAuthConnection.AccessToken; req.Headers["User-Agent"] = "salesforce-toolkit/Windows7/20"; if (method == "POST" || method == "PATCH") { req.ContentType = "application/json"; req.BeginGetRequestStream( (result) => { HttpWebRequest request = (HttpWebRequest)result.AsyncState; System.IO.Stream postStream = request.EndGetRequestStream(result); string postData = body; byte[] byteArray = System.Text.Encoding.UTF8.GetBytes(postData); // Write to the request stream. postStream.Write(byteArray, 0, postData.Length); postStream.Close(); // Start the asynchronous operation to get the response request.BeginGetResponse( (postresult) => { try { RESTResult restresult = new RESTResult(); restresult.request = rest_request; restresult.data = getHTTPResult(postresult, method); restresult.request.callback(restresult); } catch (WebException wex) { RESTResult restresult = new RESTResult(); restresult.request = rest_request; string error = handleHTTPError(wex); restresult.data = JObject.Parse(error.Substring(1, error.Length - 1)); restresult.message = (string)restresult.data["message"]; restresult.request.errorCallback(restresult); } }, req); }, req); } else { req.BeginGetResponse( (result) => { try { RESTResult restresult = new RESTResult(); restresult.request = rest_request; restresult.data = getHTTPResult(result, method); restresult.request.callback(restresult); } catch (WebException wex) { RESTResult restresult = new RESTResult(); restresult.request = rest_request; string error = handleHTTPError(wex); restresult.data = JObject.Parse(error.Substring(1, error.Length - 1)); restresult.message = (string)restresult.data["message"]; restresult.request.errorCallback(restresult); } }, req); } }