Пример #1
0
        public void use_web_sockets_address_sets_the_injection_text()
        {
            var start = new StartApplication();
            start.AutoRefreshWebSocketsAddress = "ws:foo";

            start.HtmlHeadInjectedText.ShouldContain("ws:foo");
            start.HtmlHeadInjectedText.ShouldContain("<script");
            start.HtmlHeadInjectedText.ShouldContain("</script>");
        }
Пример #2
0
        public void Find(StartApplication message, Action <Type> onFound)
        {
            var applicationTypes = _finder.Find();

            Type applicationType = null;


            if (!applicationTypes.Any())
            {
                _messaging.Send(new InvalidApplication
                {
                    Message = "Could not find any instance of FubuRegistry in any assembly in this directory"
                });

                return;
            }

            if (message.ApplicationName.IsNotEmpty())
            {
                applicationType = applicationTypes.FirstOrDefault(x => x.Name.EqualsIgnoreCase(message.ApplicationName));


                if (applicationType == null)
                {
                    _messaging.Send(new InvalidApplication
                    {
                        Message      = "Could not find an application named '{0}'".ToFormat(message.ApplicationName),
                        Applications = applicationTypes.Select(x => x.Name).ToArray()
                    });

                    return;
                }
            }

            if (applicationType == null && applicationTypes.Count() == 1)
            {
                applicationType = applicationTypes.Single();
            }

            if (applicationType == null)
            {
                _messaging.Send(new InvalidApplication
                {
                    Applications = applicationTypes.Select(x => x.Name).ToArray(),
                    Message      = "Unable to determine the FubuMVC Application"
                });
            }
            else
            {
                onFound(applicationType);
            }
        }
Пример #3
0
        public void Find(StartApplication message, Action<Type> onFound)
        {
            var applicationTypes = _finder.Find();

            Type applicationType = null;


            if (!applicationTypes.Any())
            {
                _messaging.Send(new InvalidApplication
                {
                    Message = "Could not find any instance of FubuRegistry in any assembly in this directory"
                });

                return;
            }

            if (message.ApplicationName.IsNotEmpty())
            {
                applicationType = applicationTypes.FirstOrDefault(x => x.Name.EqualsIgnoreCase(message.ApplicationName));


                if (applicationType == null)
                {
                    _messaging.Send(new InvalidApplication
                    {
                        Message = "Could not find an application named '{0}'".ToFormat(message.ApplicationName),
                        Applications = applicationTypes.Select(x => x.Name).ToArray()
                    });

                    return;
                }
            }

            if (applicationType == null && applicationTypes.Count() == 1)
            {
                applicationType = applicationTypes.Single();
            }

            if (applicationType == null)
            {
                _messaging.Send(new InvalidApplication
                {
                    Applications = applicationTypes.Select(x => x.Name).ToArray(),
                    Message = "Unable to determine the FubuMVC Application"
                });
            }
            else
            {
                onFound(applicationType);
            }
        }
        public void Initialize(Type applicationType, StartApplication message)
        {
            _registry = Activator.CreateInstance(applicationType).As<FubuRegistry>();
            _registry.RootPath = message.PhysicalPath;
            _registry.Port = PortFinder.FindPort(message.PortNumber);
            _registry.Mode = message.Mode;

            _registry.AlterSettings<OwinSettings>(owin =>
            {
                owin.AddMiddleware<HtmlHeadInjectionMiddleware>().Arguments.With(new InjectionOptions
                {
                    Content = c => message.HtmlHeadInjectedText
                });
            });

            if (_registry.Host == null) _registry.HostWith<Katana>();

            StartUp();
        }
Пример #5
0
        public void Initialize(Type applicationType, StartApplication message)
        {
            _registry          = Activator.CreateInstance(applicationType).As <FubuRegistry>();
            _registry.RootPath = message.PhysicalPath;
            _registry.Port     = PortFinder.FindPort(message.PortNumber);
            _registry.Mode     = message.Mode;

            _registry.AlterSettings <OwinSettings>(owin =>
            {
                owin.AddMiddleware <HtmlHeadInjectionMiddleware>().Arguments.With(new InjectionOptions
                {
                    Content = c => message.HtmlHeadInjectedText
                });
            });

            if (_registry.Host == null)
            {
                _registry.HostWith <Katana>();
            }

            StartUp();
        }