Example #1
0
        /// <summary>
        ///     Add StaticFilesModule to WebServer.
        /// </summary>
        /// <param name="webserver">The webserver instance.</param>
        /// <returns>An instance of a web module.</returns>
        /// <exception cref="System.ArgumentNullException">webserver.</exception>
        public static WebServer WithLocalSession(this WebServer webserver)
        {
            if (webserver == null)
            {
                throw new ArgumentNullException(nameof(webserver));
            }

            webserver.RegisterModule(new LocalSessionModule());
            return(webserver);
        }
Example #2
0
        /// <summary>
        ///     Add a Module to WebServer.
        /// </summary>
        /// <param name="webserver">The webserver instance.</param>
        /// <param cref="IWebModule" name="module">The Module to register to WebServer.</param>
        /// <returns>An instance of webserver.</returns>
        /// <exception cref="System.ArgumentNullException">webserver.</exception>
        public static WebServer WithModule <T>(this WebServer webserver, T module) where T : class, IWebModule
        {
            if (webserver == null)
            {
                throw new ArgumentNullException(nameof(webserver));
            }

            webserver.RegisterModule(module);
            return(webserver);
        }
Example #3
0
        /// <summary>
        ///     Add WebSocketsModule to WebServer.
        /// </summary>
        /// <param name="webserver">The webserver instance.</param>
        /// <param name="assembly">The assembly to load Web Sockets from. Leave null to avoid autoloading.</param>
        /// <returns>An instance of webserver.</returns>
        /// <exception cref="System.ArgumentNullException">webserver.</exception>
        public static WebServer WithWebSocket(this WebServer webserver, Assembly assembly = null)
        {
            if (webserver == null)
            {
                throw new ArgumentNullException(nameof(webserver));
            }

            webserver.RegisterModule(new WebSocketsModule());
            return(assembly != null?webserver.LoadWebSockets(assembly) : webserver);
        }
Example #4
0
        /// <summary>
        ///     Enables CORS in the WebServer.
        /// </summary>
        /// <param name="webserver">The webserver instance.</param>
        /// <param name="origins">The valid origins, default all.</param>
        /// <param name="headers">The valid headers, default all.</param>
        /// <param name="methods">The valid method, default all.</param>
        /// <returns>An instance of the tiny web server used to handle request.</returns>
        /// <exception cref="ArgumentNullException">webserver.</exception>
        public static WebServer EnableCors(this WebServer webserver, string origins = Strings.CorsWildcard, string headers = Strings.CorsWildcard, string methods = Strings.CorsWildcard)
        {
            if (webserver == null)
            {
                throw new ArgumentNullException(nameof(webserver));
            }

            webserver.RegisterModule(new CorsModule(origins, headers, methods));

            return(webserver);
        }
Example #5
0
        /// <summary>
        ///     Add the StaticFilesModule with multiple paths.
        /// </summary>
        /// <param name="webserver">The webserver.</param>
        /// <param name="virtualPaths">The virtual paths.</param>
        /// <param name="defaultDocument">The default document.</param>
        /// <returns>An instance of a web module.</returns>
        /// <exception cref="System.ArgumentNullException">webserver.</exception>
        public static WebServer WithVirtualPaths(this WebServer webserver, Dictionary <string, string> virtualPaths, string defaultDocument = StaticFilesModule.DefaultDocumentName)
        {
            if (webserver == null)
            {
                throw new ArgumentNullException(nameof(webserver));
            }

            webserver.RegisterModule(new StaticFilesModule(virtualPaths)
            {
                DefaultDocument = defaultDocument
            });
            return(webserver);
        }
Example #6
0
        /// <summary>
        ///     Add the StaticFilesModule to the specified WebServer.
        /// </summary>
        /// <param name="webserver">The webserver instance.</param>
        /// <param name="rootPath">The static folder path.</param>
        /// <param name="defaultDocument">The default document name.</param>
        /// <param name="useDirectoryBrowser">if set to <c>true</c> [use directory browser].</param>
        /// <returns>
        ///     An instance of webserver.
        /// </returns>
        /// <exception cref="ArgumentNullException">webserver.</exception>
        public static WebServer WithStaticFolderAt(this WebServer webserver, string rootPath, string defaultDocument = StaticFilesModule.DefaultDocumentName, bool useDirectoryBrowser = false)
        {
            if (webserver == null)
            {
                throw new ArgumentNullException(nameof(webserver));
            }

            webserver.RegisterModule(new StaticFilesModule(rootPath, useDirectoryBrowser)
            {
                DefaultDocument = defaultDocument
            });
            return(webserver);
        }
Example #7
0
        /// <summary>
        ///     Add WebApi Controller to WebServer.
        /// </summary>
        /// <typeparam name="T">The type of Web API Controller.</typeparam>
        /// <param name="webserver">The webserver instance.</param>
        /// <returns>An instance of webserver.</returns>
        /// <exception cref="ArgumentNullException">webserver.</exception>
        public static WebServer WithWebApiController <T>(this WebServer webserver) where T : WebApiController, new()
        {
            if (webserver == null)
            {
                throw new ArgumentNullException(nameof(webserver));
            }

            if (webserver.Module <WebApiModule>() == null)
            {
                webserver.RegisterModule(new WebApiModule());
            }

            webserver.Module <WebApiModule>().RegisterController <T>();

            return(webserver);
        }