bool IHttpModule.HandleRequest(ServerSide.Server server, HttpHandler handler, ClientData client, HttpRequest request, ref HttpResponse response) { if (request.Method == HttpMessage.HttpMethods.Post && request.Headers.ContainsHeader(HttpMessage.EntityHeaders.ContentType)) { if (request.Headers[HttpMessage.EntityHeaders.ContentType].Contains(urlEncodedHeader)) { var form = this.ParseFormUrlEncoded(request); FormReceived?.Invoke(this, form); server.LogDebug("Received POST form of " + form.Keys.Count + " keys!"); return(true); } else if (request.Headers[HttpMessage.EntityHeaders.ContentType].Contains(multipartHeader)) { var form = this.ParseFormMultipart(request); FormReceived?.Invoke(this, form); server.LogDebug("Received POST form of " + form.Keys.Count + " keys!"); return(true); } else { return(false); } } else { return(false); } }
public static void InitializeServer(TestContext testContext) { ServicePointManager.ServerCertificateValidationCallback += (s, e, o, p) => true; Server = new ServerSide.Server(800) .WithReadTimeout(TimeSpan.FromMilliseconds(1000)) .WithClientCertificate(false) .AddServerUsageMonitor(new InactiveTimeoutMonitor() .WithTimeout(TimeSpan.FromSeconds(30))) .AddHandler(new WebsocketRoutingHandler() .AddRoute <EchoWebsocketModule>("echo") .AddRoute <EchoWebsocketModule2>("echo2") .AddRoute <HelloWorldModule>("hello-world") .WithHeartbeatEnabled(true) .WithHeartbeatFrequency(TimeSpan.FromMilliseconds(100))) .AddHandler(new HttpRoutingHandler() .WithReturn500OnUnhandledException(true) .AddRoute <ExceptionThrowingModule>(HttpMessage.HttpMethods.Get, "throw") .AddRoute <Http200Module>(HttpMessage.HttpMethods.Get, "") .AddRoute <TestQueryModule>(HttpMessage.HttpMethods.Get, "query") .AddRoute <EchoModule>(HttpMessage.HttpMethods.Post, "echo") .AddRoute <LongRunningModule>(HttpMessage.HttpMethods.Get, "long-running") .AddRoute <MultipartModule>(HttpMessage.HttpMethods.Post, "multipart") .AddRoute <SomeRoutingModule>(HttpMessage.HttpMethods.Post, "some-module/{someValue}/test/{intValue}/test") .AddRoute <IterationModule>(HttpMessage.HttpMethods.Get, "iteration") .WithFragmentsExpirationTime(TimeSpan.FromMilliseconds(3000)) .WithMaximumSize(250000)) .AddBackgroundService <IteratingBackgroundService>(interval: TimeSpan.FromSeconds(5)) .AddExceptionHandler(new ExceptionConsoleLogger()) .SetScheduler(new ParallelScheduler()) .WithSslAuthenticationTimeout(TimeSpan.FromMilliseconds(100)); Server.ServiceManager.RegisterSingleton <ILogger, ConsoleLogger>(); Server.ServiceManager.RegisterSingleton <IteratingService>(); Server.RunAsync(); }
/// <summary> /// Check the request and construct the response. /// </summary> /// <param name="handler"></param> /// <param name="client"></param> /// <param name="request"></param> /// <param name="response"></param> /// <returns>True so no other handler modifies the response, so the response contains the 404 return status code.</returns> bool IHttpModule.HandleRequest(ServerSide.Server server, HttpHandler handler, ClientData client, HttpRequest request, ref HttpResponse response) { if (request.Method == HttpMessage.HttpMethods.Get) { //client.ToBeRemoved = true; response.StatusCode = HttpMessage.StatusCodes.NotFound; response.Headers[HttpMessage.GeneralHeaders.Date] = DateTime.Now.ToString(); } return(true); }
bool IHttpModule.HandleRequest(ServerSide.Server server, HttpHandler handler, ClientData client, HttpRequest request, ref HttpResponse response) { if (request.Method == HttpMessage.HttpMethods.Get) { //client.ToBeRemoved = true; response.StatusCode = HttpMessage.StatusCodes.OK; response.Headers[HttpMessage.GeneralHeaders.Date] = DateTime.Now.ToString(); response.Headers[HttpMessage.EntityHeaders.ContentType] = "text/plain; charset=UTF-8"; response.Headers["Server"] = "MTSC"; response.Body = this.response; } return(true); }
void IHttpModule.Tick(ServerSide.Server server, HttpHandler handler) { }
void IWebsocketModule.ConnectionInitialized(ServerSide.Server server, WebsocketHandler handler, ClientData client) { }
bool IWebsocketModule.HandleReceivedMessage(ServerSide.Server server, WebsocketHandler handler, ClientData client, WebsocketMessage receivedMessage) { this.SendMessage(handler, client, receivedMessage); return(false); }