Пример #1
0
        public void TestInitialise()
        {
            _Snapshot = Factory.TakeSnapshot();

            _Pipeline             = TestUtilities.CreateMockImplementation <AWhewell.Owin.Interface.IPipeline>();
            _ProcessRequestAction = null;
            _Pipeline
            .Setup(r => r.ProcessRequest(It.IsAny <IDictionary <string, object> >()))
            .Callback((IDictionary <string, object> environment) => {
                _LoopbackEnvironment = environment;
                _ProcessRequestAction?.Invoke(environment);
            });

            _PipelineBuilderEnvironment = TestUtilities.CreateMockImplementation <IPipelineBuilderEnvironment>();

            // Standard pipeline builder
            _WebSitePipelineBuilder  = TestUtilities.CreateMockImplementation <IWebSitePipelineBuilder>();
            _StandardPipelineBuilder = TestUtilities.CreateMockImplementation <IPipelineBuilder>();
            _WebSitePipelineBuilder.SetupGet(r => r.PipelineBuilder).Returns(_StandardPipelineBuilder.Object);

            // Custom pipeline builder
            _CustomPipelineBuilder = TestUtilities.CreateMockImplementation <IPipelineBuilder>();

            _StandardPipelineBuilder.Setup(r => r.CreatePipeline(It.IsAny <IPipelineBuilderEnvironment>())).Returns(() => _Pipeline.Object);
            _CustomPipelineBuilder.Setup(r => r.CreatePipeline(It.IsAny <IPipelineBuilderEnvironment>())).Returns(() => _Pipeline.Object);

            _LoopbackEnvironment = null;
            _Environment         = new MockOwinEnvironment();

            _LoopbackHost = Factory.Resolve <ILoopbackHost>();
        }
Пример #2
0
        private void CreateLoopbackHost()
        {
            if (_LoopbackHost == null)
            {
                var loopbackHost = Factory.Singleton.Resolve <ILoopbackHost>();
                loopbackHost.ConfigureStandardPipeline();
                loopbackHost.ModifyEnvironmentAction = r => {
                    if (r.ContainsKey(EnvironmentKey.SuppressJavascriptBundles))
                    {
                        r[EnvironmentKey.SuppressJavascriptBundles] = true;
                    }
                    else
                    {
                        r.Add(EnvironmentKey.SuppressJavascriptBundles, true);
                    }
                };

                lock (_SyncLock) {
                    if (_LoopbackHost == null)
                    {
                        _LoopbackHost = loopbackHost;
                    }
                }
            }
        }
Пример #3
0
        public void TestInitialise()
        {
            _Snapshot = Factory.TakeSnapshot();

            _StandardPipeline    = TestUtilities.CreateMockImplementation <IStandardPipeline>();
            _WebAppConfiguration = Factory.Resolve <IWebAppConfiguration>();
            _LoopbackEnvironment = null;
            _Environment         = new MockOwinEnvironment();

            _LoopbackHost = Factory.Resolve <ILoopbackHost>();
        }
Пример #4
0
        /// <summary>
        /// See interface docs.
        /// </summary>
        /// <param name="server"></param>
        public void AttachSiteToServer(IWebServer server)
        {
            if (server == null)
            {
                throw new ArgumentNullException("server");
            }
            if (WebServer != server)
            {
                if (WebServer != null)
                {
                    throw new InvalidOperationException("The web site can only be attached to one server");
                }

                var owinPipelineConfig = Factory.ResolveSingleton <IPipelineConfiguration>();
                owinPipelineConfig.AddPipeline <WebSitePipeline>();

                var pluginManager = Factory.ResolveSingleton <IPluginManager>();
                pluginManager.RegisterWebPipelines();

                var sharedConfig = Factory.ResolveSingleton <ISharedConfiguration>();
                sharedConfig.ConfigurationChanged += SharedConfiguration_ConfigurationChanged;

                WebServer   = server;
                server.Root = "/VirtualRadar";

                var installerSettingsStorage = Factory.Resolve <IInstallerSettingsStorage>();
                var installerSettings        = installerSettingsStorage.Load();
                server.Port = installerSettings.WebServerPort;

                var redirection = Factory.ResolveSingleton <IRedirectionConfiguration>();
                redirection.AddRedirection("/", "/desktop.html", RedirectionContext.Any);
                redirection.AddRedirection("/", "/mobile.html", RedirectionContext.Mobile);

                var fileServerConfiguration = Factory.ResolveSingleton <IFileSystemServerConfiguration>();
                fileServerConfiguration.TextLoadedFromFile += FileSystemConfiguration_TextLoadedFromFile;
                AddDefaultSiteRoot(fileServerConfiguration);

                var htmlManipulatorConfig = Factory.ResolveSingleton <IHtmlManipulatorConfiguration>();
                htmlManipulatorConfig.AddTextResponseManipulator(_HtmlManipulator);

                var javascriptManipulatorConfig = Factory.ResolveSingleton <IJavascriptManipulatorConfiguration>();
                javascriptManipulatorConfig.AddTextResponseManipulator(_WebSiteStringsManipulator);

                _LoopbackHost = Factory.Resolve <ILoopbackHost>();
                _LoopbackHost.ConfigureStandardPipeline();

                LoadConfiguration();
            }
        }
 private void Initialise()
 {
     if (!_Initialised)
     {
         lock (_SyncLock) {
             if (!_Initialised)
             {
                 _Initialised  = true;
                 _Clock        = Factory.Resolve <IClock>();
                 _LoopbackHost = Factory.Resolve <ILoopbackHost>();
                 _LoopbackHost.ConfigureStandardPipeline();
             }
         }
     }
 }