public static HttpResponse GetResponseFromServer(WebRequest request) { using (var response = (WebResponse)request.GetResponse()) { var httpResponse = new HttpResponse(response); using (var dataStream = response.GetResponseStream()) { if (dataStream != null) { using (var reader = new StreamReader(dataStream)) { var data = reader.ReadToEnd(); httpResponse.Data = data; } } } return httpResponse; } }
private void Notify(Guid messageId, HttpResponse response) { var trace = new WebMessageTrace(messageId) { Messages = new List<WebMessage> { new WebMessage(WebMessageType.Response) { Details = response.Data, Headers = HttpWebRequestHelper.GetHeaders(response.Headers) } } }; Publish(trace); }
private void Notify(Guid messageId, HttpRequest request, HttpResponse response, Exception exception) { var trace = new WebMessageTrace(messageId); if(response!= null) trace.Messages.Add( new WebMessage(WebMessageType.Response) { Details = response.Data, Headers = HttpWebRequestHelper.GetHeaders(response.Headers), Timestamp = DateTime.UtcNow }); if (request != null) { trace.Server = request.Server; trace.Messages.Add( new WebMessage(WebMessageType.Request) { Details = request.Data, Headers = HttpWebRequestHelper.GetHeaders(request.Headers), Method = request.Request.Method, AbsolutePath = request.Request.RequestUri.AbsolutePath, Timestamp = request.Timestamp }); } if(exception!= null) trace.Messages.Add( new WebMessage(WebMessageType.Error) { Details = string.Format("Message - {0} Stack Trace - {1}", exception.Message , exception.StackTrace), Headers = exception.GetType() == typeof(WebException) && ((WebException)exception).Response != null ? HttpWebRequestHelper.GetHeaders(((WebException)exception).Response.Headers) : new Dictionary<string, string>(), Timestamp = DateTime.UtcNow }); Publish(trace); }