Sha256: 533e12318c60ec380f1488dc6c440941f25afef0c7b54a1e111554ba2696ebcc

Contents?: true

Size: 935 Bytes

Versions: 2

Compression:

Stored size: 935 Bytes

Contents

# frozen_string_literal: true

module Saml
  module Kit
    module Bindings
      # {include:file:spec/saml/bindings/http_post_spec.rb}
      class HttpPost < Binding
        include Serializable

        def initialize(location:)
          super(binding: Saml::Kit::Bindings::HTTP_POST, location: location)
        end

        def serialize(builder, relay_state: nil)
          builder.destination = location
          document = builder.build
          saml_params = {
            document.query_string_parameter => Base64.strict_encode64(document.to_xml),
          }
          saml_params['RelayState'] = relay_state if relay_state.present?
          [location, saml_params]
        end

        def deserialize(params, configuration: Saml::Kit.configuration)
          xml = decode(saml_param_from(params))
          Saml::Kit::Document.to_saml_document(xml, configuration: configuration)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
saml-kit-1.0.11 lib/saml/kit/bindings/http_post.rb
saml-kit-1.0.10 lib/saml/kit/bindings/http_post.rb