public void Configure(BehaviorGraph graph) { graph.Actions() .Where(x => x.InputType().CanBeCastTo<JsonMessage>()) .ToList() .Each(x => x.ParentChain().MakeAsymmetricJson()); }
public void Configure(BehaviorGraph graph) { graph.Behaviors.Where(x => x.ResourceType() != null).Each(chain => { chain.ResourceType().ForAttribute<CacheAttribute>(att => att.Alter(chain)); }); }
public void Configure(BehaviorGraph graph) { graph .Actions() .Where(action => action.IsCrudAction()) .Each(action => action.AddBefore(new CrudValidationBehaviorNode(action.InputType()))); }
public BehaviorGraphWriter(BehaviorGraph graph, IUrlRegistry urls, IServiceLocator services) { _graph = graph; _urls = urls; _services = services; _diagnosticsNamespace = GetType().Namespace; }
public void SetUp() { graph = new FubuRegistry(x => { x.Actions.IncludeTypesNamed(o => o.EndsWith("Controller")); }).BuildGraph(); }
public static ConnegGraph Build(BehaviorGraph behaviorGraph) { var graph = new ConnegGraph(); TypePool typePool = behaviorGraph.Types(); var writers = typePool .TypesMatching( x => x.Closes(typeof (IMediaWriter<>)) && x.IsConcreteWithDefaultCtor() && !x.IsOpenGeneric()); graph.Writers.AddRange(writers); var readers = typePool .TypesMatching( x => x.Closes(typeof (IReader<>)) && x.IsConcreteWithDefaultCtor() && !x.IsOpenGeneric()); graph.Readers.AddRange(readers); return graph; }
public void SetUp() { var registry = new FubuRegistry(); registry.Import<ApplyWindowsAuthentication>(); theGraph = BehaviorGraph.BuildFrom(registry); }
private static IEnumerable<BehaviorChain> buildChains(BehaviorGraph graph) { var handlers = graph.Settings.Get<HandlerGraph>(); // TODO -- move this to a HandlerSource after we fix the duplicate calls // across HandlerSource problem. handlers.Add(HandlerCall.For<SubscriptionsHandler>(x => x.Handle(new SubscriptionRequested()))); handlers.Add(HandlerCall.For<SubscriptionsHandler>(x => x.Handle(new SubscriptionsChanged()))); handlers.Add(HandlerCall.For<SubscriptionsHandler>(x => x.Handle(new SubscriptionsRemoved()))); handlers.Add(HandlerCall.For<MonitoringControlHandler>(x => x.Handle(new TakeOwnershipRequest()))); handlers.Add(HandlerCall.For<MonitoringControlHandler>(x => x.Handle(new TaskHealthRequest()))); handlers.Add(HandlerCall.For<MonitoringControlHandler>(x => x.Handle(new TaskDeactivation()))); handlers.ApplyGeneralizedHandlers(); var policies = graph.Settings.Get<HandlerPolicies>(); handlers.ApplyPolicies(policies.GlobalPolicies); foreach (var chain in handlers) { // Apply the error handling node chain.InsertFirst(new ExceptionHandlerNode(chain)); // Hate how we're doing this, but disable tracing // on the polling job requests here. if (chain.InputType().Closes(typeof (JobRequest<>))) { chain.Tags.Add(BehaviorChain.NoTracing); } } return handlers; }
public void SetUp() { var registry = new FubuRegistry(); registry.Import<ServerSentEventsExtension>(); theGraph = BehaviorGraph.BuildFrom(registry); }
public void Configure(BehaviorGraph graph) { var jobs = graph.Settings.Get<ScheduledJobGraph>(); var channels = graph.Settings.Get<ChannelGraph>(); if (jobs.Jobs.Any(x => x.Channel == null) && jobs.DefaultChannel == null) { var missing = jobs.Jobs.Where(x => x.Channel == null); var message = "No channel configured for jobs {0} and no default Scheduled job channel configured".ToFormat( missing.Select(x => x.JobType.GetFullName()).Join(", ")); throw new InvalidOperationException(message); } jobs.Jobs.Where(x => x.Channel == null).Each(x => x.Channel = jobs.DefaultChannel); jobs.Jobs.Each(job => { var accessor = job.Channel ?? jobs.DefaultChannel; var channel = channels.ChannelFor(accessor); if (channel == null) { throw new InvalidOperationException("Nonexistent Channel '{0}' configured for Scheduled job {1}".ToFormat(accessor, job.JobType.GetFullName())); } channel.Rules.Add(job.ToRoutingRule()); }); }
public void Configure(BehaviorGraph graph) { graph.Behaviors .Where(x => !x.IsPartialOnly) .Where(x => x.ResourceType().CanBeCastTo<JsonMessage>() || x.InputType().CanBeCastTo<JsonMessage>()) .Each(x => x.MakeAsymmetricJson()); }
public void SetUp() { graph = new FubuRegistry().BuildGraph(); urls = MockRepository.GenerateMock<IUrlRegistry>(); writer = new BehaviorGraphWriter(graph, urls, null); }
public PartialFactory(BehaviorGraph graph, IBehaviorFactory factory, ServiceArguments arguments, ICurrentChain currentChain) { _graph = graph; _factory = factory; _arguments = arguments; _currentChain = currentChain; }
void IConfigurationAction.Configure(BehaviorGraph graph) { var chain = graph.BehaviorFor(_route); _nodes.Each(chain.AddToEnd); //graph.Observer.RecordStatus("Adding explicit route {0}".ToFormat(_route)); }
public void SetUp() { var registry = new FubuRegistry(); registry.Actions.IncludeType<JsonController>(); theGraph = registry.BuildGraph(); }
public void BuildBehaviors(TypePool pool, BehaviorGraph graph) { _graph = graph; pool.TypesMatching(TypeFilters.Matches).Each(scanMethods); _graph = null; }
public void Configure(BehaviorGraph graph) { graph .Actions() .Where(c => c.HasAttribute<SecureAttribute>()) .Each(c => c.WrapWith<AuthenticationRequiredBehaviour>()); }
public void Configure(BehaviorGraph graph) { graph.Behaviors.Where(x => x.InputType().CanBeCastTo<ResourcePath>()) .Each(x => { if (!x.Route.Pattern.Contains(ResourcePath.UrlSuffix)) { x.Route.Append(ResourcePath.UrlSuffix); x.Route.RegisterRouteCustomization(r => { r.Defaults.Add("Part0", null); r.Defaults.Add("Part1", null); r.Defaults.Add("Part2", null); r.Defaults.Add("Part3", null); r.Defaults.Add("Part4", null); r.Defaults.Add("Part5", null); r.Defaults.Add("Part6", null); r.Defaults.Add("Part7", null); r.Defaults.Add("Part8", null); r.Defaults.Add("Part9", null); }); } }); }
public void Configure(BehaviorGraph graph) { graph .Actions() .Where(b => b.InputType() != null && b.InputType().Namespace.ToLower().Contains("sitemanagement")) .Each(chain => chain.WrapWith<NTCodingAuthenticationBehaviour>()); }
public void Apply(BehaviorGraph graph, BehaviorChain chain) { // Don't override the route if it already exists if (chain.Route != null) { return; } // Don't override the route if the chain is a partial if (chain.IsPartialOnly) { return; } _observer = graph.Observer; ActionCall call = chain.Calls.FirstOrDefault(); if (call == null) return; IUrlPolicy policy = _policies.FirstOrDefault(x => x.Matches(call, _observer)) ?? _defaultUrlPolicy; _observer.RecordCallStatus(call, "First matching UrlPolicy (or default): {0}".ToFormat(policy.GetType().Name)); IRouteDefinition route = policy.Build(call); _constraintPolicy.Apply(call, route, _observer); _observer.RecordCallStatus(call, "Route definition determined by url policy: [{0}]".ToFormat(route.ToRoute().Url)); chain.Route = route; }
public void Configure(BehaviorGraph graph) { graph.FirstActions().Where(x => x.InputType().CanBeCastTo<DomainEntity>()).Each(call => { call.WrapWith(typeof(EnsureEntityExistsBehavior<>), call.InputType()); }); }
public void Configure(BehaviorGraph graph) { var jobs = graph.Settings.Get<PollingJobSettings>().Jobs; jobs.Select(x => x.ToObjectDef()) .Each(x => graph.Services.AddService(typeof(IPollingJob), x)); }
public void SetUp() { theGraph = BehaviorGraph.BuildFrom(x => { x.Actions.IncludeClassesSuffixedWithController(); }); }
public void Configure(BehaviorGraph graph) { graph.Behaviors .Where(x => !x.IsPartialOnly) .Where(x => x.HasResourceType() && !x.HasOutput()) .Each(x => x.ApplyConneg()); }
public void beforeAll() { var registry = new FubuRegistry(); registry.Actions.IncludeType<Controller1>(); _graph = BehaviorGraph.BuildFrom(registry); }
public void Configure(BehaviorGraph graph) { graph.Behaviors .Where(x => x.ResourceType().CanBeCastTo<AjaxContinuation>()) .ToList() .Each(Modify); }
public void SetUp() { graph = new BehaviorGraph(null); matcher = new ActionSourceMatcher(); pool = new TypePool(); }
public void SetUp() { var registry = new FubuRegistry(); registry.Actions.IncludeType<RouteAliasController>(); theGraph = BehaviorGraph.BuildFrom(registry); }
public void Configure(BehaviorGraph graph) { graph .Actions() .Where(c => !c.HandlerType.Namespace.Contains("Login") && !c.HandlerType.Namespace.Contains("Home")) .Each(c => c.WrapWith<AuthenticationRequiredBehavior>()); }
public ExampleHtmlWriter(IServiceLocator serviceLocator, IUrlRegistry urlRegistry, BehaviorGraph behaviorGraph) { _serviceLocator = serviceLocator; _urlRegistry = urlRegistry; _behaviorGraph = behaviorGraph; _examplePageUrl = "_fubu/html/example".ToAbsoluteUrl(); }
public void Configure(BehaviorGraph graph) { graph.Handlers.Each(x => x.InsertFirst(Wrapper.For <FooWrapper>())); }
public void ReadConnegGraph(BehaviorGraph graph) { _graph = ConnegGraph.Build(graph); }
private static void startBehaviorGraph(FubuRegistry registry, BehaviorGraph graph) { graph.ApplicationAssembly = registry.ApplicationAssembly; registry.Config.Add(new DiscoveryActionsConfigurationPack()); }
protected override void beforeEach() { _graph = ObjectMother.DiagnosticsGraph(); Container.Configure(x => x.For <BehaviorGraph>().Use(() => _graph)); }
public ChainFubuDiagnostics(BehaviorGraph graph, IChainExecutionHistory history) { _graph = graph; _history = history; }
public void Configure(ViewBag bag, BehaviorGraph graph) { Invocations++; }
public ConfigLog(BehaviorGraph graph) { _graph = graph; }
private static void bakeBehaviorGraphIntoContainer(BehaviorGraph graph, IContainerFacility containerFacility) { graph.As <IRegisterable>().Register(containerFacility.Register); }
public void Configure(BehaviorGraph graph) { // insert new behaviors for some sort of // cross cutting concern }
public void SetUp() { graph = BehaviorGraph.BuildFrom(x => x.Actions.IncludeClassesSuffixedWithController()); }
public DiagnosticJavascriptRoutes(BehaviorGraph graph) { graph.Behaviors.OfType <DiagnosticChain>().Where(x => x.Route.AllowedHttpMethods.Any()).Each(Add); }
public void RunActions(string configurationType, BehaviorGraph graph) { _configurations[configurationType].RunActions(graph); }
public static IEnumerable <HandlerCall> Handlers(this BehaviorGraph graph) { var handlerGraph = graph.Settings.Get <HandlerGraph>(); return(handlerGraph.SelectMany(behavior => behavior.OfType <HandlerCall>().Distinct())); }
public AboutFubuDiagnostics(AppReloaded reloaded, BehaviorGraph graph, FubuRuntime runtime) { _reloaded = reloaded; _graph = graph; _runtime = runtime; }
private void registeredTypeIs <TService, TImplementation>() { BehaviorGraph.BuildFrom(x => x.Import <AssetBottleRegistration>()).Services.DefaultServiceFor <TService>().Type.ShouldEqual( typeof(TImplementation)); }
public void Configure(BehaviorGraph graph) { graph.Behaviors.Each(analyzeChain); }
protected virtual void precompile(BehaviorGraph graph) { // do nothing }
public void Configure(BehaviorGraph graph) { Count++; }
public EndpointExplorerFubuDiagnostics(BehaviorGraph graph, IUrlRegistry urls) { _graph = graph; _urls = urls; }
public void script_graph_is_registered() { var services = BehaviorGraph.BuildFrom(x => x.Import <AssetBottleRegistration>()).Services; services.DefaultServiceFor <AssetGraph>().Value.ShouldNotBeNull(); }
public EndpointExplorerEndpoint(BehaviorGraph graph, IUrlRegistry urls) { _graph = graph; _urls = urls; }
public void SetUp() { theGraph = BehaviorGraph.BuildFrom(x => { x.Actions.IncludeType <ResourceTypeEndpoints>(); }); }
public void Configure(BehaviorGraph graph) { addAboutEndpoint(graph); addReloadedEndpoint(graph); }
public void Fill(ViewEngineSettings settings, BehaviorGraph graph, IPerfTimer timer, IFubuApplicationFiles files) { _views = tokens().Where(x => !graph.Settings.Get <ViewEngineSettings>().IsExcluded(x)).ToList(); }
public RequestExplorerAction(BehaviorGraph graph, IEndpointService endpointService) : base(graph, endpointService) { }
public void Configure(BehaviorGraph graph) { graph.Actions() .Where(x => !x.HandlerType.Name.StartsWith("Get", StringComparison.InvariantCultureIgnoreCase) && x.HasInput) .Each(x => x.AddBefore(new ValidationNode(x.InputType()))); }
private void registeredTypeIs <TService, TImplementation>() { BehaviorGraph.BuildEmptyGraph().Services.DefaultServiceFor <TService>().Type.ShouldEqual( typeof(TImplementation)); }
public void Configure(BehaviorGraph graph) { throw new System.NotImplementedException(); }
public GraphQuery(BehaviorGraph graph) { _graph = graph; }
public HtmlConventionsAction(BehaviorGraph graph, IEndpointService endpointService) : base(graph, endpointService) { }