HttpServer.WebServer.AddHandler C# (CSharp) Method

AddHandler() public method

Add a request handler
public AddHandler ( HttpRequestHandler handler ) : void
handler HttpRequestHandler Request handler to add
return void
        public void AddHandler(HttpRequestHandler handler)
        {
            HttpRequestHandler[] newHandlers = new HttpRequestHandler[requestHandlers.Length + 1];

            for (int i = 0; i < requestHandlers.Length; i++)
                newHandlers[i] = requestHandlers[i];
            newHandlers[requestHandlers.Length] = handler;

            // CLR guarantees this is an atomic operation
            requestHandlers = newHandlers;
        }

Same methods

WebServer::AddHandler ( string method, string contentType, string path, HttpRequestCallback callback ) : void

Usage Example

Example #1
0
        void InitHttpServer(int port, bool ssl)
        {
            HttpServer = new WebServer(IPAddress.Any, port);

            // Login webpage HEAD request, used to check if the login webpage is alive
            HttpServer.AddHandler("head", null, "^/$", LoginWebpageHeadHandler);

            // Login webpage GET request, gets the login webpage data (purely aesthetic)
            HttpServer.AddHandler("get", null, @"^/(\?.*)?$", LoginWebpageGetHandler);

            // Client XML-RPC login
            HttpServer.AddHandler("post", "text/xml", "^/$", LoginXmlRpcPostHandler);

            // Client LLSD login
            HttpServer.AddHandler("post", "application/xml", "^/$", LoginLLSDPostHandler);

            HttpServer.Start();
        }