From e6b974f6514320f43228da2abdcd0ce66b3c30c1 Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Tue, 19 Nov 2024 22:36:56 -0500 Subject: [PATCH] updates --- src/lib/MBS.Web/WebRequest.cs | 9 ++++++++- src/lib/MBS.Web/WebServer.cs | 6 +++--- src/lib/MBS.Web/WebServerProcessRequestEventArgs.cs | 2 ++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/lib/MBS.Web/WebRequest.cs b/src/lib/MBS.Web/WebRequest.cs index 15a4444..2d6f4e9 100644 --- a/src/lib/MBS.Web/WebRequest.cs +++ b/src/lib/MBS.Web/WebRequest.cs @@ -52,7 +52,7 @@ public class WebRequest { Query[key] = new List(); } - Query[key].Add(nameValue[1].UrlDecode()); + Query[key].Add(UrlAndFormDecode(nameValue[1])); } else { @@ -69,4 +69,11 @@ public class WebRequest PathVariables = pathVariables; Form = new ReadOnlyDictionary(form); } + + private string UrlAndFormDecode(string v) + { + v = v.Replace('+', ' '); // must be done first to not decode '%..' => ' ' + v = v.UrlDecode(); + return v; + } } diff --git a/src/lib/MBS.Web/WebServer.cs b/src/lib/MBS.Web/WebServer.cs index 9958a9f..00011a6 100644 --- a/src/lib/MBS.Web/WebServer.cs +++ b/src/lib/MBS.Web/WebServer.cs @@ -197,7 +197,7 @@ public class WebServer } else { - Console.WriteLine("MBS.Web.WebServer: !! NOT using SSL !!"); + // Console.WriteLine("MBS.Web.WebServer: !! NOT using SSL !!"); } StreamReader sr = new StreamReader(st); @@ -371,7 +371,7 @@ public class WebServer { if (parm is System.Net.Sockets.TcpClient client) { - Console.WriteLine("Client connected"); + // Console.WriteLine("Client connected"); try { @@ -431,7 +431,7 @@ public class WebServer } else { - Console.WriteLine("MBS.Web.WebServer: !! NOT using SSL !!"); + // Console.WriteLine("MBS.Web.WebServer: !! NOT using SSL !!"); } tServer = new Thread(tServer_ThreadStart); diff --git a/src/lib/MBS.Web/WebServerProcessRequestEventArgs.cs b/src/lib/MBS.Web/WebServerProcessRequestEventArgs.cs index fbb980f..0cc43a9 100644 --- a/src/lib/MBS.Web/WebServerProcessRequestEventArgs.cs +++ b/src/lib/MBS.Web/WebServerProcessRequestEventArgs.cs @@ -8,12 +8,14 @@ namespace MBS.Web; public class WebServerProcessRequestEventArgs : EventArgs { public WebServer Server { get; } + public System.Net.Sockets.TcpClient Client { get; } public WebContext Context { get; } public bool Handled { get; set; } = false; public WebServerProcessRequestEventArgs(WebServer server, System.Net.Sockets.TcpClient client, WebContext context) { Server = server; + Client = client; Context = context; }