[System] HttpListenerRequest Uri is now unescaped.
[mono.git] / mcs / class / System / System.Net / HttpListenerRequest.cs
index 6dc9a2ffe7149a38bc91652b3f142280f0fd474f..ded0634a3f3e73b610603d3de5a58931286d1616 100644 (file)
@@ -188,6 +188,11 @@ namespace System.Net {
 
                        CreateQueryString (url.Query);
 
+                       // Use reference source HttpListenerRequestUriBuilder to process url.
+                       // Fixes #29927
+                       url = HttpListenerRequestUriBuilder.GetRequestUri (raw_url, url.Scheme,
+                                                               url.Authority, url.LocalPath, url.Query);
+
                        if (version >= HttpVersion.Version11) {
                                string t_encoding = Headers ["Transfer-Encoding"];
                                is_chunked = (t_encoding != null && String.Compare (t_encoding, "chunked", StringComparison.OrdinalIgnoreCase) == 0);