protected virtual ISamlBindingStrategy GetBinding(SamlBindingBehavior bindingBehavior)
        {
            Type bindingType;

            switch (bindingBehavior)
            {
            case SamlBindingBehavior.HttpPost:
                bindingType = typeof(HttpPostBindingHandler);
                break;

            case SamlBindingBehavior.HttpRedirect:
                bindingType = typeof(HttpRedirectBindingHandler);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(bindingBehavior));
            }

            return(Bindings.Single(b => b.GetType() == bindingType));
        }
 protected override ISamlBindingStrategy GetBinding(SamlBindingBehavior bindingBehavior)
 {
     return(Bindings.First());
 }
        public void Handle(SamlOptions options, HttpContext context, TMessageContext messageContext, string target, SamlBindingBehavior bindingBehavior, string relayState = null)
        {
            //TODO: Extract creation and preparation of messageContext to a separate method.

            var document = MessageFactory.CreateMessage(options, messageContext);

            GetBinding(bindingBehavior).BindMessage(document, context, target, FlowKey, options, relayState);
        }
 public new void Handle(SamlOptions options, HttpContext context, FakeSamlMessage messageContext, string target,
                        SamlBindingBehavior bindingBehavior, string relayState = null)
 {
     HandleCalled = true;
     base.Handle(options, context, messageContext, target, bindingBehavior, relayState);
 }