module RiksbankCurrency::Request

Constants

ENDPOINT

Public Instance Methods

call(xml_body, action) click to toggle source

@param [String] xml_body @return [Nokogiri::XML::Document]

# File lib/riksbank_currency/request.rb, line 13
def call(xml_body, action)
  raise 'action is required' unless action

  uri = URI.parse(ENDPOINT)

  request = Net::HTTP::Post.new(uri.path)

  request.body = xml_body
  request.content_type = "application/soap+xml;charset=UTF-8;action=\"urn:#{action}\""

  response = Net::HTTP.start(uri.host, uri.port, { use_ssl: true }) do |http|
    http.request request
  end
  Nokogiri::XML(response.body)
end