public static bool Invoke(IHttpRequestBase request, out byte[] result) { if (request == null) { throw new ArgumentNullException("request"); } result = null; try { var webRequest = WebRequest.Create(request.GetRequestUrl()) as HttpWebRequest; if (webRequest == null) { return false; } SetHttpWebRequest(request, webRequest); SetRequestStream(request, webRequest); return GetResponse(webRequest, out result); } catch (Exception ex) { // log the exception... return false; } }
//public static bool Invoke(IHttpRequestBase request, out byte[] result) public static bool Invoke(IHttpRequestBase request, out byte[] result) { if (request == null) { throw new ArgumentNullException("request"); } result = null; try { var webRequest = WebRequest.Create(request.GetRequestUrl()) as HttpWebRequest; if (webRequest == null) { return(false); } SetHttpWebRequest(request, webRequest); SetRequestStream(request, webRequest); return(GetResponse(webRequest, out result)); } catch (Exception ex) { // log the exception...?? in most cases is a time out. //string aa = ex.ToString(); //Console.WriteLine("ERROR: " + ex.Message + "Exiting!"); return(false); } }
//public static bool Invoke(IHttpRequestBase request, out byte[] result) public static bool Invoke(IHttpRequestBase request, out byte[] result) { if (request == null) { throw new ArgumentNullException("request"); } result = null; try { var webRequest = WebRequest.Create(request.GetRequestUrl()) as HttpWebRequest; if (webRequest == null) { return false; } SetHttpWebRequest(request, webRequest); SetRequestStream(request, webRequest); return GetResponse(webRequest, out result); } catch (Exception ex) { // log the exception...?? in most cases is a time out. //string aa = ex.ToString(); //Console.WriteLine("ERROR: " + ex.Message + "Exiting!"); return false; } }
private static void SetRequestStream(IHttpRequestBase request, HttpWebRequest webRequest) //private static void SetRequestStream(IHttpRequestBase request, HttpWebRequest webRequest) { if (request.HttpVerbs != HttpVerbs.GET) { var requestBytes = request.GetRequestBytes(); if (requestBytes != null && requestBytes.Length > 0) { using (var requestStream = webRequest.GetRequestStream()) { requestStream.Write(requestBytes, 0, requestBytes.Length); } } } }
// public static bool Invoke(IHttpRequestBase request, out string result) public static bool Invoke(IHttpRequestBase request, out string result) { if (request == null) { throw new ArgumentNullException("request"); } result = string.Empty; byte[] contents; bool requestState = Invoke(request, out contents); if (contents != null && contents.Length > 0) { result = request.Encoding.GetString(contents); } return(requestState); }
// public static bool Invoke(IHttpRequestBase request, out string result) public static bool Invoke(IHttpRequestBase request, out string result) { if (request == null) { throw new ArgumentNullException("request"); } result = string.Empty; byte[] contents; bool requestState = Invoke(request, out contents); if (contents != null && contents.Length > 0) { result = request.Encoding.GetString(contents); } return requestState; }
//private static void SetHttpWebRequest(IHttpRequestBase request, HttpWebRequest webRequest) private static void SetHttpWebRequest(IHttpRequestBase request, HttpWebRequest webRequest) { webRequest.Timeout = request.Timeout; webRequest.AllowAutoRedirect = false; webRequest.Method = request.HttpVerbs.ToString().ToUpper(); webRequest.ContentType = request.ContentType; webRequest.ProtocolVersion = request.ProtocolVersion; webRequest.Accept = request.Accept; if (request.postData != "") { Stream RequestStream = webRequest.GetRequestStream(); // byte[] RequestBytes = Encoding.GetEncoding("utf-8").GetBytes(xmlTask); RequestStream.Write(Encoding.GetEncoding("utf-8").GetBytes(request.postData), 0, Encoding.GetEncoding("utf-8").GetBytes(request.postData).Length); RequestStream.Close(); } if (request.Headers.Count != 0) { for (int i = 0; i < request.Headers.Count; ++i) { string header = request.Headers.GetKey(i); foreach (string value in request.Headers.GetValues(i)) { webRequest.Headers.Add(header, value); } } } if (request.Cookies.Count > 0) { webRequest.CookieContainer = new CookieContainer(); webRequest.CookieContainer.Add(request.Cookies); } }
//private static void SetRequestStream(IHttpRequestBase request, HttpWebRequest webRequest) private static void SetRequestStream(IHttpRequestBase request, HttpWebRequest webRequest) { if (request.HttpVerbs != HttpVerbs.GET) { var requestBytes = request.GetRequestBytes(); if (requestBytes != null && requestBytes.Length > 0) { using (var requestStream = webRequest.GetRequestStream()) { requestStream.Write(requestBytes, 0, requestBytes.Length); } } } }
//private static void SetHttpWebRequest(IHttpRequestBase request, HttpWebRequest webRequest) private static void SetHttpWebRequest(IHttpRequestBase request, HttpWebRequest webRequest) { webRequest.Timeout = request.Timeout; webRequest.AllowAutoRedirect = false; webRequest.Method = request.HttpVerbs.ToString().ToUpper(); webRequest.ContentType = request.ContentType; webRequest.ProtocolVersion = request.ProtocolVersion; webRequest.Accept = request.Accept; if (request.postData != "") { Stream RequestStream = webRequest.GetRequestStream(); // byte[] RequestBytes = Encoding.GetEncoding("utf-8").GetBytes(xmlTask); RequestStream.Write(Encoding.GetEncoding("utf-8").GetBytes(request.postData), 0, Encoding.GetEncoding("utf-8").GetBytes(request.postData).Length); RequestStream.Close(); } if (request.Headers.Count !=0) { for (int i = 0; i < request.Headers.Count; ++i) { string header = request.Headers.GetKey(i); foreach (string value in request.Headers.GetValues(i)) { webRequest.Headers.Add(header, value); } } } if (request.Cookies.Count > 0) { webRequest.CookieContainer = new CookieContainer(); webRequest.CookieContainer.Add(request.Cookies); } }
private static void SetHttpWebRequest(IHttpRequestBase request, HttpWebRequest webRequest) { webRequest.Timeout = request.Timeout; webRequest.AllowAutoRedirect = false; webRequest.Method = request.HttpVerbs.ToString().ToUpper(); webRequest.ContentType = request.ContentType; if (request.Cookies.Count > 0) { webRequest.CookieContainer = new CookieContainer(); webRequest.CookieContainer.Add(request.Cookies); } }
public static bool AsyncInvoke(IHttpRequestBase request, Action<string> callBack) { if (request == null) { throw new ArgumentNullException("request"); } if (request.HttpVerbs == HttpVerbs.Get) { throw new ArgumentException("Async Invoke don't provide HttpVerbs.Get Method."); } try { var webRequest = WebRequest.Create(request.GetRequestUrl()) as HttpWebRequest; if (webRequest == null) { return false; } SetHttpWebRequest(request, webRequest); var requestState = new AsyncRequestState(); requestState.Request = request; requestState.HttpWebRequest = webRequest; requestState.AysncCallBack = callBack; webRequest.BeginGetRequestStream(GetRequestStreamCallback, requestState); return true; } catch (Exception ex) { // log the exception... return false; } }