/// <summary> /// Returns an HttpWebResponse /// </summary> /// <param name="url"></param> /// <param name="data"></param> /// <returns></returns> public IResponse Get(string url, IEnumerable <string> data) { var completeUrl = new StringBuilder(url + "?"); if (data != null) { data.ToList().ForEach(s => completeUrl.Append(s + "&")); } completeUrl.Remove(completeUrl.Length - 1, 1); var request = (HttpWebRequest)WebRequest.Create(completeUrl.ToString()); request.Method = "get"; request.ContentType = "text/html"; _authenticate(request); try { var begin = DateTime.Now.Ticks; using (var response = (HttpWebResponse)request.GetResponse()) { var span = new TimeSpan(DateTime.Now.Ticks - begin); TraceLog.WriteLine(new StackFrame().GetMethod().Name, request.RequestUri.PathAndQuery); TraceLog.WriteLine(new StackFrame().GetMethod().Name, "\t\tWeb server round trip elapsed time time was " + span.TotalMilliseconds + " millicesonds"); var body = new StreamReader(response.GetResponseStream()).ReadToEnd(); return(new Response(response.Headers, body)); } } catch (Exception ex) { var me = new StackFrame().GetMethod().Name; TraceLog.Exception(me, ex); throw; } }
private IResponse GetResponse(string method, string url, IEnumerable <string> data) { var me = new StackFrame().GetMethod().Name; var postData = new StringBuilder(); var request = (HttpWebRequest)WebRequest.Create(url); request.Method = method; request.ContentType = "application/x-www-form-urlencoded"; try { // Add parameter form data if any if (data != null) { var d = data.ToList(); if (d.Any()) { d.ForEach(s => postData.Append(s + "&")); postData.Remove(postData.Length - 1, 1); var encodedBytes = Encoding.UTF8.GetBytes(postData.ToString()); // Write the encoded data to the request. using (var stream = request.GetRequestStream()) { stream.Write(encodedBytes, 0, encodedBytes.Length); } } } _authenticate(request); TraceLog.WriteLine(new StackFrame().GetMethod().Name, request.RequestUri.PathAndQuery); TraceLog.WriteLine(me, "Post Data:" + postData); using (var response = (HttpWebResponse)request.GetResponse()) { var body = new StreamReader(response.GetResponseStream()).ReadToEnd(); return(new Response(response.Headers, body)); } } catch (Exception ex) { TraceLog.Exception(me, ex); throw; } }