コード例 #1
0
ファイル: Program.cs プロジェクト: imzjy/MiniHttpServer
        static void IndexHandler(MiniRequest req, MiniResponse resp)
        {
            string requestBody = req.GetBody();
            string requestStr2 = req.GetBody();

            resp.SetBody(requestStr2);
        }
コード例 #2
0
        /// <summary>
        /// URL dispatch/router
        /// </summary>
        /// <param name="context"></param>
        private void ProcessRequest(HttpListenerContext context)
        {
            bool isHandled = false;

            HttpListenerRequest request = context.Request;

            foreach (var handler in _registeredHandlers)
            {
                if (handler.UrlPattern.IsMatch(request.RawUrl) && handler.HttpMethod == context.Request.HttpMethod)
                {
                    MiniRequest  req  = new MiniRequest(context.Request);
                    MiniResponse resp = new MiniResponse(context.Response);

                    handler.RequestHandler(req, resp);
                    resp.Finish();

                    isHandled = true;
                    break; //it's been handled, stop propagation
                }
            }

            if (!isHandled)
            {
                DefaultHander(context);
            }
        }
コード例 #3
0
        public void SetUp()
        {
            ServiceProvider services = new ServiceCollection()
                                       .AddLogging()
                                       .AddParsers()
                                       .BuildServiceProvider();

            // Setup static logger factory
            QboxNextLogProvider.LoggerFactory = services.GetRequiredService <ILoggerFactory>();

            _sut = services.GetRequiredService <MiniResponse>();
        }
コード例 #4
0
ファイル: MiniResponseTest.cs プロジェクト: CK-Yong/QboxNext
        public void ParseResponseWithFirmwareUrlTest()
        {
            // Arrange, voorbeeld response uit qplat-52
            const string source = "040A470BD80001\"firmware-acc.QboxNext.nl\"02\"qserver-acc.QboxNext.nl\"";

            // Act
            var actual = new MiniResponse().Parse(source) as ResponseParseResult;

            // Assert
            Assert.IsNotNull(actual);
            Assert.IsNotNull(actual.DeviceSettings);
            Assert.IsTrue(actual.DeviceSettings.Count() == 2, "2 device settings expected");
        }