From ff43b5c9e59c87c77839100e7d95b97b6d004c52 Mon Sep 17 00:00:00 2001 From: Shani Elharrar Date: Tue, 21 Jan 2014 14:34:13 +0200 Subject: [PATCH] More DebuggerDisplays --- uhttpsharp/Headers/HttpHeadersExtensions.cs | 13 +++++++++++++ uhttpsharp/HttpRequest.cs | 16 ++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/uhttpsharp/Headers/HttpHeadersExtensions.cs b/uhttpsharp/Headers/HttpHeadersExtensions.cs index ffe4396..7bcaa60 100644 --- a/uhttpsharp/Headers/HttpHeadersExtensions.cs +++ b/uhttpsharp/Headers/HttpHeadersExtensions.cs @@ -1,4 +1,5 @@ using System; +using System.Text; namespace uhttpsharp.Headers { @@ -30,5 +31,17 @@ namespace uhttpsharp.Headers headers.TryGetByName(name, out value); return value; } + + public static string ToUriData(this IHttpHeaders headers) + { + var builder = new StringBuilder(); + + foreach (var header in headers) + { + builder.AppendFormat("{0}={1}&", Uri.EscapeDataString(header.Key), Uri.EscapeDataString(header.Value)); + } + + return builder.ToString(0, builder.Length - 1); + } } } \ No newline at end of file diff --git a/uhttpsharp/HttpRequest.cs b/uhttpsharp/HttpRequest.cs index ff0ef12..dd1c8d4 100644 --- a/uhttpsharp/HttpRequest.cs +++ b/uhttpsharp/HttpRequest.cs @@ -19,12 +19,14 @@ using System; using System.CodeDom; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Threading.Tasks; using uhttpsharp.Headers; namespace uhttpsharp { + [DebuggerDisplay("{Method} {OriginalUri,nq}")] internal class HttpRequest : IHttpRequest { private readonly IHttpHeaders _headers; @@ -80,6 +82,20 @@ namespace uhttpsharp { get { return _queryString; } } + + internal string OriginalUri + { + get + { + if (QueryString == null) + { + return Uri.OriginalString; + } + + return Uri.OriginalString + "?" + QueryString.ToUriData(); + + } + } } public interface IHttpRequest -- 2.24.0