class Arbetsformedlingen::API::SOAPRequest
API
SOAP request
Attributes
locale[R]
SOAP response Response
= KeyStruct.new
(:code, :body, :xml)
uri[R]
SOAP response Response
= KeyStruct.new
(:code, :body, :xml)
url[R]
SOAP response Response
= KeyStruct.new
(:code, :body, :xml)
Public Class Methods
new(url, locale: nil)
click to toggle source
Initialize SOAP request
# File lib/arbetsformedlingen/api/soap_request.rb, line 22 def initialize(url, locale: nil) unless Object.const_defined?(:Nokogiri) raise(ArgumentError, "unable to require 'nokogiri' gem, please install it") end @url = url @uri = URI(url) @locale = locale end
Public Instance Methods
post(body)
click to toggle source
Performs a POST request @param [String] body @return [Response] the response
# File lib/arbetsformedlingen/api/soap_request.rb, line 35 def post(body) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true if uri.scheme == 'https' request = Net::HTTP::Post.new(uri) request['Content-Type'] = 'text/xml' request['Accept-Language'] = locale if locale request.body = body response = http.request(request) Response.new(response, uri) end