GSF.Web.Hosting.WebServer.GetConfiguredServer C# (CSharp) Method

GetConfiguredServer() private method

private GetConfiguredServer ( string settingsCategory = null, IRazorEngine razorEngineCS = null, IRazorEngine razorEngineVB = null ) : WebServer
settingsCategory string
razorEngineCS IRazorEngine
razorEngineVB IRazorEngine
return WebServer
        public static WebServer GetConfiguredServer(string settingsCategory = null, IRazorEngine razorEngineCS = null, IRazorEngine razorEngineVB = null)
        {
            lock (typeof(WebServer))
            {
                if (string.IsNullOrWhiteSpace(settingsCategory))
                    settingsCategory = "systemSettings";

                return s_configuredServers.GetOrAdd(settingsCategory, category =>
                {
                    // Get configured template path
                    CategorizedSettingsElementCollection settings = ConfigurationFile.Current.Settings[category];
                    settings.Add("WebRootPath", "wwwroot", "The root path for the hosted web server files. Location will be relative to install folder if full path is not specified.");
                    settings.Add("ClientCacheEnabled", "true", "Determines if cache control is enabled for web server when rendering content to browser clients.");
                    settings.Add("MinifyJavascript", "true", "Determines if minification should be applied to rendered Javascript files.");
                    settings.Add("MinifyStyleSheets", "true", "Determines if minification should be applied to rendered CSS files.");
                    settings.Add("UseMinifyInDebug", "false", "Determines if minification should be applied when running a Debug build.");

                    return new WebServer(FilePath.GetAbsolutePath(settings["WebRootPath"].Value), razorEngineCS, razorEngineVB)
                    {
                        ClientCacheEnabled = settings["ClientCacheEnabled"].Value.ParseBoolean(),
                        MinifyJavascript = settings["MinifyJavascript"].Value.ParseBoolean(),
                        MinifyStyleSheets = settings["MinifyStyleSheets"].Value.ParseBoolean(),
                        UseMinifyInDebug = settings["UseMinifyInDebug"].Value.ParseBoolean()
                    };
                });
            }
        }