Ejemplo n.º 1
0
 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);
     }
 }
Ejemplo n.º 2
0
 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();
 }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
 void IHttpModule.Tick(ServerSide.Server server, HttpHandler handler)
 {
 }
Ejemplo n.º 6
0
 void IWebsocketModule.ConnectionInitialized(ServerSide.Server server, WebsocketHandler handler, ClientData client)
 {
 }
Ejemplo n.º 7
0
 bool IWebsocketModule.HandleReceivedMessage(ServerSide.Server server, WebsocketHandler handler, ClientData client, WebsocketMessage receivedMessage)
 {
     this.SendMessage(handler, client, receivedMessage);
     return(false);
 }