private BehaviorGraph CreateGraph <T>() { var graph = new BehaviorGraph(); graph.AddActionFor("/", typeof(T)); graph.AddActionFor("/", typeof(T)); return(graph); }
public void Configure(BehaviorGraph graph) { //add resource discovery action and force it to return JSON graph.AddActionFor("api", typeof(SwaggerUIAction)); ////TODO should this route '/api' be configurable? //add resource discovery action and force it to return JSON graph.AddActionFor("api/resources.json", typeof(ResourceDiscoveryAction)).MakeAsymmetricJson(); //add resource action and force it to return JSON graph.AddActionFor("api/{GroupKey}.json", typeof(ResourceAction)).MakeAsymmetricJson(); }
// TODO: Find a way to make this easier in Fubu")] private static void addEndpointsFor(Type entityType, BehaviorGraph graph) { graph.AddActionFor("{0}/find/{{Id}}".ToFormat(entityType.Name.ToLower()), typeof(DomainEntityFinder<>), entityType) .UrlCategory.Category = Categories.FIND; var finderForwarder = typeof(EntityFinderForwarder<>).CloseAndBuildAs<IChainForwarder>(entityType); graph.AddForwarder(finderForwarder); graph.AddActionFor("{0}/editproperty".ToFormat(entityType.Name).ToLower(), typeof(IPropertyUpdater<>), entityType) .UrlCategory.Category = Categories.PROPERTY_EDIT; var propertyForwarder = typeof(PropertyUpdaterForwarder<>).CloseAndBuildAs<IChainForwarder>(entityType); graph.AddForwarder(propertyForwarder); }
public void Given() { var graph = new BehaviorGraph(); var chain = graph.AddActionFor("api/action1/{input}/", typeof(Action1)); _route = chain.Route; }
private static IEnumerable <ActionCall> getAPIActions() { var graph = new BehaviorGraph(); graph.AddActionFor("api/group1/{input}", typeof(Action1)); graph.AddActionFor("api/group2/{input}", typeof(Action1)); graph.AddActionFor("api/group2/foo/", typeof(Action1)); graph.AddActionFor("api/group3", typeof(Action1)); graph.AddActionFor("api/group3/foobar", typeof(Action1)); graph.AddActionFor("api/group3/{input}", typeof(Action1)); graph.AddActionFor("home", typeof(Action1)); graph.AddActionFor("home/foo", typeof(Action1)); graph.AddActionFor("home/foo/baz", typeof(Action1)); graph.AddActionFor("bar", typeof(Action1)); return(graph.Actions()); }
// TODO: Find a way to make this easier in Fubu")] private static void addEndpointsFor(Type entityType, BehaviorGraph graph) { graph.AddActionFor("{0}/find/{{Id}}".ToFormat(entityType.Name.ToLower()), typeof(DomainEntityFinder <>), entityType) .UrlCategory.Category = Categories.FIND; var finderForwarder = typeof(EntityFinderForwarder <>).CloseAndBuildAs <IChainForwarder>(entityType); graph.AddForwarder(finderForwarder); graph.AddActionFor("{0}/editproperty".ToFormat(entityType.Name).ToLower(), typeof(IPropertyUpdater <>), entityType) .UrlCategory.Category = Categories.PROPERTY_EDIT; var propertyForwarder = typeof(PropertyUpdaterForwarder <>).CloseAndBuildAs <IChainForwarder>(entityType); graph.AddForwarder(propertyForwarder); }
public void Given() { var graph = new BehaviorGraph(); var chain = graph.AddActionFor("api/action1/{input}/", typeof (Action1)); _route = chain.Route; _property = ReflectionHelper.GetProperty<ActionRequest>(a => a.redfish); _result = ActionCallMapper.createParameter(_property, _route); }
public void Given() { var graph = new BehaviorGraph(); var chain = graph.AddActionFor("api/action1/{input}/", typeof(Action1)); _route = chain.Route; _property = ReflectionHelper.GetProperty <ActionRequest>(a => a.redfish); _result = ActionCallMapper.createParameter(_property, _route); }
public void Given() { var cut = new ActionCallMapper(new TypeDescriptorCache()); var graph = new BehaviorGraph(); var chain = graph.AddActionFor("api/group1/{input}", typeof(Action1)); chain.Route.AddHttpMethodConstraint("POST"); var action = graph.Actions().First(); _result = cut.GetSwaggerOperations(action).First(); }
private static BehaviorGraph AddAction(BehaviorGraph graph, Type type, string verb = null, string thisNamespace = null) { var route = type.GetHandlerUrl(thisNamespace ?? type.Assembly.FullName); var chain = graph.AddActionFor(route, type); var method = verb ?? (type.Name.EndsWith("Handler") ? type.GetHandlerVerb() : null); if (method != null) { chain.Route.AddHttpMethodConstraint(method); } return(graph); }
public void add_a_simple_open_type() { var graph = new BehaviorGraph(); var chain = graph.AddActionFor("go/{Id}", typeof(Action2 <>), typeof(string)); chain.FirstCall().HandlerType.ShouldEqual(typeof(Action2 <string>)); chain.FirstCall().Method.Name.ShouldEqual("Go"); chain.Route.Pattern.ShouldEqual("go/{Id}"); chain.Route.Input.ShouldBeOfType <RouteInput <ArgModel> >(); chain.Route.CreateUrlFromInput(new ArgModel { Id = 5 }).ShouldEqual("go/5"); graph.Behaviors.Count().ShouldEqual(1); }
public void add_a_simple_closed_type() { var graph = new BehaviorGraph(); var chain = graph.AddActionFor("go/{Id}", typeof(Action1)); chain.FirstCall().HandlerType.ShouldEqual(typeof(Action1)); chain.FirstCall().Method.Name.ShouldEqual("Go"); chain.Route.ShouldBeOfType <RouteDefinition <ArgModel> >().Pattern.ShouldEqual("go/{Id}"); chain.Route.CreateUrlFromInput(new ArgModel() { Id = 5 }).ShouldEqual("go/5"); graph.BehaviorChainCount.ShouldEqual(1); }
public void Given() { var graph = new BehaviorGraph(); _route = graph.AddActionFor("api/group1/{input}", typeof (Action1)).Route; }
public void Given() { var graph = new BehaviorGraph(); _route = graph.AddActionFor("api/group1/{input}", typeof(Action1)).Route; }