コード例 #1
0
        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);
        }
コード例 #2
0
        private void Notify(Guid messageId, WebException exception)
        {
            var trace = new WebMessageTrace(messageId)
            {
                Messages = new List <WebMessage>
                {
                    new WebMessage(WebMessageType.Error)
                    {
                        Details = string.Format("Message - {0} Stack Trace - {1}", exception.Message, exception.StackTrace),
                        Headers = HttpWebRequestHelper.GetHeaders(exception.Response.Headers)
                    }
                }
            };

            Publish(trace);
        }
コード例 #3
0
        private void Notify(Guid messageId, WebRequest request, string data)
        {
            var trace = new WebMessageTrace(messageId)
            {
                Messages = new List <WebMessage>
                {
                    new WebMessage(WebMessageType.Request)
                    {
                        Details      = data,
                        Headers      = HttpWebRequestHelper.GetHeaders(request.Headers),
                        Method       = request.Method,
                        AbsolutePath = request.RequestUri.AbsolutePath
                    }
                }
            };

            Publish(trace);
        }
コード例 #4
0
        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);
        }