Example #1
0
        public void Dispose_Disposes_Of_HttpListener()
        {
            _Host.Dispose();
            _Host = null;

            _HttpListener.Verify(r => r.Dispose(), Times.Once());
        }
Example #2
0
 private void StopHosting()
 {
     if (_Host != null)
     {
         try {
             _Host.Dispose();
         } finally {
             _Host.RequestProcessed -= Host_RequestProcessed;
             _Host   = null;
             _Online = false;
             OnOnlineChanged(EventArgs.Empty);
         }
     }
 }
Example #3
0
        public void TestInitialise()
        {
            _Snapshot = Factory.TakeSnapshot();

            _PipelineBuilder            = MockHelper.FactoryImplementation <IPipelineBuilder>();
            _PipelineBuilderEnvironment = MockHelper.FactoryImplementation <IPipelineBuilderEnvironment>();
            _Pipeline             = MockHelper.FactoryImplementation <IPipeline>();
            _ProcessRequestAction = null;
            _Pipeline.Setup(r => r.ProcessRequest(It.IsAny <IDictionary <string, object> >()))
            .Callback((IDictionary <string, object> environment) => {
                _PipelineEnvironment = environment;
                _ProcessRequestAction?.Invoke(environment);
            });

            _PipelineBuilder.Setup(r => r.CreatePipeline(_PipelineBuilderEnvironment.Object)).Returns(() => _Pipeline.Object);

            _HttpListener = new MockHttpListener();
            Factory.RegisterInstance <IHttpListener>(_HttpListener.Object);

            _ResponseHeaders = _HttpListener.MockContext.MockResponse.Headers;

            _Host = Factory.Resolve <IHostHttpListener>();
        }
Example #4
0
        private void StartHosting()
        {
            if (_Host == null)
            {
                RegisterConfigureCallback();

                _Host      = Factory.Resolve <IHostHttpListener>();
                _Host.Port = Port;
                _Host.Root = Root;
                _Host.UseStrongWildcard = false;
                _Host.RequestProcessed += Host_RequestProcessed;

                var pipelineBuilder = Factory.ResolveSingleton <IWebSitePipelineBuilder>()
                                      .PipelineBuilder;
                var builderEnvironment = Factory.Resolve <IPipelineBuilderEnvironment>();
                _Host.Initialise(pipelineBuilder, builderEnvironment);

                _Host.Start();

                _Online = true;
                OnOnlineChanged(EventArgs.Empty);
            }
        }