Sha256: a5b601522107882cd415f4de73fc94600ac25f8512c31b85e2560897319aa12e

Contents?: true

Size: 744 Bytes

Versions: 7

Compression:

Stored size: 744 Bytes

Contents

# frozen_string_literal: true

require 'saml2/message'
require 'saml2/status'

module SAML2
  class StatusResponse < Message
    # @return [String]
    attr_accessor :in_response_to
    attr_writer :status

    def initialize
      super
      @status = Status.new
    end

    # (see Base#from_xml)
    def from_xml(node)
      super
      @status = nil
      remove_instance_variable(:@status)
    end

    # @return [Status]
    def status
      @status ||= Status.from_xml(xml.at_xpath('samlp:Status', Namespaces::ALL))
    end

    protected

    def build(status_response)
      super(status_response)

      status_response.parent['InResponseTo'] = in_response_to if in_response_to

      status.build(status_response)
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
saml2-2.2.5 lib/saml2/status_response.rb
saml2-2.2.4 lib/saml2/status_response.rb
saml2-2.2.3 lib/saml2/status_response.rb
saml2-2.2.2 lib/saml2/status_response.rb
saml2-2.2.1 lib/saml2/status_response.rb
saml2-2.2.0 lib/saml2/status_response.rb
saml2-2.1.0 lib/saml2/status_response.rb