Example #1
0
        protected override DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
        {
            node.Add(settings.FormatterFor(MimeType.Json));
            node.Add(settings.FormatterFor(MimeType.Xml));

            return(DoNext.Continue);
        }
Example #2
0
 public void ApplyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
 {
     if (applyOutputs(node, chain, settings) == DoNext.Continue && Next != null)
     {
         Next.ApplyOutputs(node, chain, settings);
     }
 }
        protected override DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
        {
            var graph = settings.Graph ?? new ConnegGraph();
            graph.WriterTypesFor(node.ResourceType).Each(type => node.Add((IMediaWriter) Activator.CreateInstance(type)));

            return DoNext.Continue;
        }
        protected override DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
        {
            node.Add(settings.FormatterFor(MimeType.Json));
            node.Add(settings.FormatterFor(MimeType.Xml));

            return DoNext.Continue;
        }
        protected override DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
        {
            if (!chain.ResourceType().CanBeCastTo<AjaxContinuation>()) return DoNext.Continue;
       
            node.Add(typeof(AjaxContinuationWriter<>));

            return DoNext.Stop;
        }
Example #6
0
        protected override DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
        {
            var graph = settings.Graph ?? new ConnegGraph();

            graph.WriterTypesFor(node.ResourceType).Each(type => node.Add((IMediaWriter)Activator.CreateInstance(type)));

            return(DoNext.Continue);
        }
Example #7
0
        protected override DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
        {
            if (chain.ResourceType().CanBeCastTo<HtmlTag>() || chain.ResourceType().CanBeCastTo<HtmlDocument>())
            {
                node.Add(typeof(HtmlStringWriter<>));
                return DoNext.Stop;
            }

            return DoNext.Continue;
        }
Example #8
0
        protected override DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
        {
            if (chain.ResourceType().CanBeCastTo <HtmlTag>() || chain.ResourceType().CanBeCastTo <HtmlDocument>())
            {
                node.Add(typeof(HtmlStringWriter <>));
                return(DoNext.Stop);
            }

            return(DoNext.Continue);
        }
Example #9
0
        protected override DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
        {
            if (chain.ResourceType() == typeof (string))
            {
                node.Add(new StringWriter());

                return DoNext.Stop;
            }

            return base.applyOutputs(node, chain, settings);
        }
Example #10
0
        protected override DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
        {
            if (chain.AnyActionHasAttribute <AsymmetricJsonAttribute>() || chain.ResourceType().CanBeCastTo <IDictionary <string, object> >())
            {
                node.Add(settings.FormatterFor(MimeType.Json));

                return(DoNext.Stop);
            }

            return(DoNext.Continue);
        }
Example #11
0
        protected override DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
        {
            if (chain.ResourceType() == typeof(string))
            {
                node.Add(new StringWriter());

                return(DoNext.Stop);
            }

            return(base.applyOutputs(node, chain, settings));
        }
Example #12
0
        protected override DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
        {
            if (!chain.ResourceType().CanBeCastTo <AjaxContinuation>())
            {
                return(DoNext.Continue);
            }

            node.Add(typeof(AjaxContinuationWriter <>));

            return(DoNext.Stop);
        }
Example #13
0
        protected override DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
        {
            var candidates = settings.Views.Where(x => x.ViewModel == node.ResourceType).ToArray();
            if (candidates.Count() == 1)
            {
                if (!node.HasView())
                {
                    node.AddView(candidates.Single());
                }
            }

            return DoNext.Continue;
        }
Example #14
0
        protected override DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
        {
            var candidates = settings.Views.Where(x => x.ViewModel == node.ResourceType).ToArray();

            if (candidates.Count() == 1)
            {
                if (!node.HasView())
                {
                    node.AddView(candidates.Single());
                }
            }

            return(DoNext.Continue);
        }
Example #15
0
        public void AddOutput <T>(IOutputNode <T> node)
        {
            if (this.outputs.Contains(node))
            {
                return;
            }

            this.outputs.Add(node);

            if (this.outputLookup != null)
            {
                this.outputLookup[typeof(T)] = node;
            }
        }
Example #16
0
        public static void AddView(this IOutputNode node, IViewToken token)
        {
            var writer = typeof(ViewWriter <>).CloseAndBuildAs <IMediaWriter>(token, node.ResourceType);

            node.Add(writer);
        }
Example #17
0
 public OutputBehavior(IFubuRequestContext context, IOutputNode media, IResourceNotFoundHandler notFoundHandler)
 {
     _context         = context;
     _media           = media;
     _notFoundHandler = notFoundHandler;
 }
Example #18
0
 protected virtual DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings)
 {
     return(DoNext.Continue);
 }
Example #19
0
        public static void AddView(this IOutputNode node, IViewToken token, IConditional conditional)
        {
            var writer = typeof(ViewWriter <>).CloseAndBuildAs <object>(token, node.ResourceType);

            node.Add(writer, conditional);
        }
Example #20
0
        public static IViewToken ViewFor(this IOutputNode node, IConditional conditional)
        {
            var media = node.Media().Where(x => x.Writer is IViewWriter && x.Condition == conditional).FirstOrDefault();

            return(media == null ? null : media.Writer.As <IViewWriter>().View);
        }
Example #21
0
        public static IViewToken ViewFor(this IOutputNode node)
        {
            var media = node.Media().OfType <IViewWriter>().FirstOrDefault();

            return(media == null ? null : media.View);
        }
Example #22
0
 public MediaCollection(IOutputNode node)
 {
     _media = new Lazy <IEnumerable <IMedia <T> > >(() => node.Media <T>().ToArray());
 }