public void ApplyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings) { if (applyOutputs(node, chain, settings) == DoNext.Continue && Next != null) { Next.ApplyOutputs(node, chain, settings); } }
protected internal override void InsertNodes(ConnegSettings settings) { base.InsertNodes(settings); if (Authentication != null) { InsertFirst(Authentication); } }
protected override DoNext applyInputs(IInputNode node, BehaviorChain chain, ConnegSettings settings) { node.Add(typeof(ModelBindingReader <>)); node.Add(settings.FormatterFor(MimeType.Json)); node.Add(settings.FormatterFor(MimeType.Xml)); return(DoNext.Continue); }
protected override DoNext applyInputs(IInputNode node, BehaviorChain chain, ConnegSettings settings) { var graph = settings.Graph ?? new ConnegGraph(); graph.ReaderTypesFor(node.InputType()).Each(type => node.Add(Activator.CreateInstance((Type)type).As <IReader>())); return(DoNext.Continue); }
public void add_formatter_places_it_first() { var settings = new ConnegSettings(); settings.AddFormatter(new AjaxAwareJsonSerializer()); settings.FormatterFor(MimeType.Json) .ShouldBeOfType <AjaxAwareJsonSerializer>(); }
protected override DoNext applyInputs(IInputNode node, BehaviorChain chain, ConnegSettings settings) { if (chain.AnyActionHasAttribute <SymmetricJsonAttribute>()) { node.Add(settings.FormatterFor(MimeType.Json)); return(DoNext.Stop); } return(DoNext.Continue); }
protected override DoNext applyInputs(IInputNode node, BehaviorChain chain, ConnegSettings settings) { if (!chain.ResourceType().CanBeCastTo <AjaxContinuation>()) { return(DoNext.Continue); } node.Add(typeof(ModelBindingReader <>)); node.Add(settings.FormatterFor(MimeType.Json)); return(DoNext.Stop); }
protected override DoNext applyInputs(IInputNode node, BehaviorChain chain, ConnegSettings settings) { if (chain.AnyActionHasAttribute <AsymmetricJsonAttribute>() || chain.ResourceType().CanBeCastTo <IDictionary <string, object> >()) { node.Add(typeof(ModelBindingReader <>)); node.Add(settings.FormatterFor(MimeType.Json)); return(DoNext.Stop); } return(DoNext.Continue); }
public void use_a_custom_querystring_parameter() { var request = new StandInCurrentHttpRequest(); request.QueryString["Format"] = "Text"; var settings = new ConnegSettings(); settings.QuerystringParameters.Add(new ConnegQuerystring("Format", "Text", MimeType.Text)); var mimeType = new CurrentMimeType("text/json", theOriginalMimetype); settings.InterpretQuerystring(mimeType, request); mimeType.AcceptTypes.Single().ShouldEqual(MimeType.Text.Value); }
internal protected virtual void InsertNodes(ConnegSettings settings) { if (HasResourceType() && !ResourceType().CanBeCastTo <FubuContinuation>()) { var outputNode = _output.Value; outputNode.UseSettings(settings); AddToEnd(outputNode); } if (_authorization.IsValueCreated && Authorization.HasRules()) { Prepend(_authorization.Value); } if (InputType() != null) { _input.Value.UseSettings(settings); Prepend(_input.Value); } this.OfType <IModifiesChain>().ToArray().Each(x => x.Modify(this)); }
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) { if (chain.ResourceType().CanBeCastTo <HtmlTag>() || chain.ResourceType().CanBeCastTo <HtmlDocument>()) { node.Add(typeof(HtmlStringWriter <>)); return(DoNext.Stop); } 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) { 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); }
protected virtual DoNext applyOutputs(IOutputNode node, BehaviorChain chain, ConnegSettings settings) { 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); }
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)); }
public void UseSettings(ConnegSettings settings) { _settings = settings; }
protected override void InsertNodes(ConnegSettings settings) { // do nothing. }