From 95ae3f7bc49d4d09216ae511467491d383350f7e Mon Sep 17 00:00:00 2001 From: "Valeriano A.R" Date: Thu, 25 May 2023 03:07:18 +0200 Subject: [PATCH] Cleanup --- VAR.WebFormsCore.TestWebApp/Program.cs | 4 +- .../TestWebAppGlobalConfig.cs | 21 +++-- VAR.WebFormsCore/Code/GlobalConfig.cs | 21 ++--- VAR.WebFormsCore/Code/GlobalErrorHandler.cs | 4 +- .../Code/GlobalRouterMiddleware.cs | 2 +- VAR.WebFormsCore/Code/ObjectActivator.cs | 2 +- VAR.WebFormsCore/Code/Program.cs | 7 -- VAR.WebFormsCore/Code/ServerHelpers.cs | 87 ++++++++++++++----- VAR.WebFormsCore/Controls/CTextBox.cs | 13 ++- VAR.WebFormsCore/Controls/HtmlForm.cs | 2 +- 10 files changed, 95 insertions(+), 68 deletions(-) delete mode 100644 VAR.WebFormsCore/Code/Program.cs diff --git a/VAR.WebFormsCore.TestWebApp/Program.cs b/VAR.WebFormsCore.TestWebApp/Program.cs index 0a416e1..0890000 100644 --- a/VAR.WebFormsCore.TestWebApp/Program.cs +++ b/VAR.WebFormsCore.TestWebApp/Program.cs @@ -1,13 +1,13 @@ namespace VAR.WebFormsCore.TestWebApp { - public class Program + public static class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().Run(); } - public static IHostBuilder CreateHostBuilder(string[] args) => + private static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { diff --git a/VAR.WebFormsCore.TestWebApp/TestWebAppGlobalConfig.cs b/VAR.WebFormsCore.TestWebApp/TestWebAppGlobalConfig.cs index 5de5536..ed84d96 100644 --- a/VAR.WebFormsCore.TestWebApp/TestWebAppGlobalConfig.cs +++ b/VAR.WebFormsCore.TestWebApp/TestWebAppGlobalConfig.cs @@ -2,15 +2,18 @@ using VAR.WebFormsCore.Code; namespace VAR.WebFormsCore.TestWebApp; -public class TestWebAppGlobalConfig: IGlobalConfig -{ - public string Title { get; } = "TestWebApp"; - public string TitleSeparator { get; } = " :: "; - public string Author { get; } = "XXX"; - public string Copyright { get; } = "Copyright (c) 2022 by XXX, All Right Reserved"; - public string DefaultHandler { get; } = nameof(FrmDefault); - public string LoginHandler { get; } = nameof(FrmDefault); - public List AllowedExtensions { get; } = new List { ".png", ".jpg", ".jpeg", ".gif", ".ico", ".wav", ".mp3", ".ogg", ".mp4", ".webm", ".webp", ".mkv", ".avi" }; +public class TestWebAppGlobalConfig : IGlobalConfig +{ + public string Title => "TestWebApp"; + public string TitleSeparator => " :: "; + public string Author => "XXX"; + public string Copyright => "Copyright (c) 2022 by XXX, All Right Reserved"; + public string DefaultHandler => nameof(FrmDefault); + public string LoginHandler => nameof(FrmDefault); + + public List AllowedExtensions { get; } = new() + { ".png", ".jpg", ".jpeg", ".gif", ".ico", ".wav", ".mp3", ".ogg", ".mp4", ".webm", ".webp", ".mkv", ".avi" }; + public bool IsUserAuthenticated(HttpContext context) { return false; diff --git a/VAR.WebFormsCore/Code/GlobalConfig.cs b/VAR.WebFormsCore/Code/GlobalConfig.cs index b89e953..f2bb9f7 100644 --- a/VAR.WebFormsCore/Code/GlobalConfig.cs +++ b/VAR.WebFormsCore/Code/GlobalConfig.cs @@ -28,25 +28,20 @@ namespace VAR.WebFormsCore.Code { _globalConfig = ObjectActivator.CreateInstance(foundGlobalConfig) as IGlobalConfig; } - - if(_globalConfig == null) - { - _globalConfig = new DefaultGlobalConfig(); - } - return _globalConfig; + return _globalConfig ??= new DefaultGlobalConfig(); } // TODO: Better default global config private class DefaultGlobalConfig : IGlobalConfig { - public string Title { get; } = string.Empty; - public string TitleSeparator { get; } = string.Empty; - public string Author { get; } = string.Empty; - public string Copyright { get; } = string.Empty; - public string DefaultHandler { get; } = string.Empty; - public string LoginHandler { get; } = string.Empty; - public List AllowedExtensions { get; } = new List(); + public string Title => string.Empty; + public string TitleSeparator => string.Empty; + public string Author => string.Empty; + public string Copyright => string.Empty; + public string DefaultHandler => string.Empty; + public string LoginHandler => string.Empty; + public List AllowedExtensions { get; } = new(); public bool IsUserAuthenticated(HttpContext context) { diff --git a/VAR.WebFormsCore/Code/GlobalErrorHandler.cs b/VAR.WebFormsCore/Code/GlobalErrorHandler.cs index 8b74a26..1dd42cd 100644 --- a/VAR.WebFormsCore/Code/GlobalErrorHandler.cs +++ b/VAR.WebFormsCore/Code/GlobalErrorHandler.cs @@ -20,8 +20,8 @@ namespace VAR.WebFormsCore.Code Exception? exAux = ex; while (exAux != null) { - sbOutput.AppendFormat("

Message: {0}

", exAux.Message); - sbOutput.AppendFormat("

StackTrace:

{0}
", exAux.StackTrace); + sbOutput.Append($"

Message: {exAux.Message}

"); + sbOutput.Append($"

StackTrace:

{exAux.StackTrace}
"); exAux = exAux.InnerException; } diff --git a/VAR.WebFormsCore/Code/GlobalRouterMiddleware.cs b/VAR.WebFormsCore/Code/GlobalRouterMiddleware.cs index a3b9d0c..384b964 100644 --- a/VAR.WebFormsCore/Code/GlobalRouterMiddleware.cs +++ b/VAR.WebFormsCore/Code/GlobalRouterMiddleware.cs @@ -79,7 +79,7 @@ namespace VAR.WebFormsCore.Code handler.ProcessRequest(context); } - private static readonly Dictionary Handlers = new Dictionary(); + private static readonly Dictionary Handlers = new(); private static IHttpHandler? GetHandler(string typeName) { diff --git a/VAR.WebFormsCore/Code/ObjectActivator.cs b/VAR.WebFormsCore/Code/ObjectActivator.cs index aa0eaca..c02a7a8 100644 --- a/VAR.WebFormsCore/Code/ObjectActivator.cs +++ b/VAR.WebFormsCore/Code/ObjectActivator.cs @@ -6,7 +6,7 @@ namespace VAR.WebFormsCore.Code { public static class ObjectActivator { - private static readonly Dictionary> Creators = new Dictionary>(); + private static readonly Dictionary> Creators = new(); private static Func GetLambdaNew(Type type) { diff --git a/VAR.WebFormsCore/Code/Program.cs b/VAR.WebFormsCore/Code/Program.cs deleted file mode 100644 index bfe917b..0000000 --- a/VAR.WebFormsCore/Code/Program.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace VAR.WebFormsCore.Code -{ - public class Program - { - public static void Main() { } - } -} \ No newline at end of file diff --git a/VAR.WebFormsCore/Code/ServerHelpers.cs b/VAR.WebFormsCore/Code/ServerHelpers.cs index b576473..9b31903 100644 --- a/VAR.WebFormsCore/Code/ServerHelpers.cs +++ b/VAR.WebFormsCore/Code/ServerHelpers.cs @@ -6,7 +6,11 @@ namespace VAR.WebFormsCore.Code public static class ServerHelpers { private static string? _contentRoot; - public static void SetContentRoot(string contentRoot) { _contentRoot = contentRoot; } + + public static void SetContentRoot(string contentRoot) + { + _contentRoot = contentRoot; + } public static string MapContentPath(string path) { @@ -16,26 +20,48 @@ namespace VAR.WebFormsCore.Code public static string HtmlEncode(string text) { - if (string.IsNullOrEmpty(text)) { return text; } + if (string.IsNullOrEmpty(text)) + { + return text; + } StringBuilder sbResult = new(); - for (int i = 0; i < text.Length; i++) + foreach (var ch in text) { - char ch = text[i]; - - if (ch == '<') { sbResult.Append("<"); } - else if (ch == '>') { sbResult.Append(">"); } - else if (ch == '"') { sbResult.Append("""); } - else if (ch == '\'') { sbResult.Append("'"); } - else if (ch == '&') { sbResult.Append("&"); } - else if (ch > 127) + switch (ch) { - sbResult.Append("&#"); - sbResult.Append(((int) ch).ToString(NumberFormatInfo.InvariantInfo)); - sbResult.Append(';'); + case '<': + sbResult.Append("<"); + break; + case '>': + sbResult.Append(">"); + break; + case '"': + sbResult.Append("""); + break; + case '\'': + sbResult.Append("'"); + break; + case '&': + sbResult.Append("&"); + break; + default: + { + if (ch > 127) + { + sbResult.Append("&#"); + sbResult.Append(((int)ch).ToString(NumberFormatInfo.InvariantInfo)); + sbResult.Append(';'); + } + else + { + sbResult.Append(ch); + } + + break; + } } - else { sbResult.Append(ch); } } return sbResult.ToString(); @@ -43,23 +69,33 @@ namespace VAR.WebFormsCore.Code public static string UrlEncode(string text) { - if (string.IsNullOrEmpty(text)) { return text; } + if (string.IsNullOrEmpty(text)) + { + return text; + } StringBuilder sbResult = new(); - for (int i = 0; i < text.Length; i++) + foreach (var ch in text) { - char ch = text[i]; - - if (ch == ' ') { sbResult.Append('+'); } - else if (IsUrlSafe(ch) == false) { sbResult.AppendFormat("%{0:X02}", ch); } - else { sbResult.Append(ch); } + if (ch == ' ') + { + sbResult.Append('+'); + } + else if (IsUrlSafe(ch) == false) + { + sbResult.Append($"%{ch:X02}"); + } + else + { + sbResult.Append(ch); + } } return sbResult.ToString(); } - public static bool IsUrlSafe(char ch) + private static bool IsUrlSafe(char ch) { if ( (ch >= 'a' && ch <= 'z') || @@ -71,7 +107,10 @@ namespace VAR.WebFormsCore.Code ch == '!' || ch == '*' || ch == '(' || - ch == ')') { return true; } + ch == ')') + { + return true; + } return false; } diff --git a/VAR.WebFormsCore/Controls/CTextBox.cs b/VAR.WebFormsCore/Controls/CTextBox.cs index 28c9fc2..f62bff6 100644 --- a/VAR.WebFormsCore/Controls/CTextBox.cs +++ b/VAR.WebFormsCore/Controls/CTextBox.cs @@ -9,7 +9,7 @@ namespace VAR.WebFormsCore.Controls { #region Declarations - private readonly TextBox _txtContent = new TextBox(); + private readonly TextBox _txtContent = new(); private HiddenField? _hidSize; @@ -101,14 +101,14 @@ namespace VAR.WebFormsCore.Controls } string strCfgName = $"{this.ClientID}_cfg"; - Dictionary cfg = new Dictionary + Dictionary cfg = new() { {"txtContent", _txtContent.ClientID}, {"hidSize", _hidSize?.ClientID ?? string.Empty}, {"keepSize", _keepSize}, }; StringBuilder sbCfg = new StringBuilder(); sbCfg.AppendFormat("\n"); LiteralControl liScript = new LiteralControl(sbCfg.ToString()); Controls.Add(liScript); @@ -182,10 +182,7 @@ namespace VAR.WebFormsCore.Controls JsonParser jsonParser = new JsonParser(); sizeObj = jsonParser.Parse(_hidSize.Value) as Dictionary; } - if(sizeObj == null) - { - sizeObj = new Dictionary {{"height", height}, {"width", null}, {"scrollTop", null},}; - } + sizeObj ??= new Dictionary { { "height", height }, { "width", null }, { "scrollTop", null }, }; if (_hidSize != null) { diff --git a/VAR.WebFormsCore/Controls/HtmlForm.cs b/VAR.WebFormsCore/Controls/HtmlForm.cs index a2668ce..82ad0e0 100644 --- a/VAR.WebFormsCore/Controls/HtmlForm.cs +++ b/VAR.WebFormsCore/Controls/HtmlForm.cs @@ -8,7 +8,7 @@ namespace VAR.WebFormsCore.Controls { public class HtmlForm : Control { - private string _method = "post"; + private readonly string _method = "post"; protected override void Render(TextWriter textWriter) {