class Skala::PrimoAdapter::SoapApi::SearchBrief

Attributes

adapter[RW]

Public Class Methods

new(adapter) click to toggle source
# File lib/skala/primo_adapter/soap_api/search_brief.rb, line 8
def initialize(adapter)
  self.adapter = adapter
end

Public Instance Methods

call(request) click to toggle source
# File lib/skala/primo_adapter/soap_api/search_brief.rb, line 12
def call(request)
  begin
    Timeout::timeout(adapter.timeout) do
      Faraday.post(adapter.soap_api_url, request, {
        "Content-Type" => "application/xml", # necessary since new soap endpoint (else -> premature end of file error)
        "SOAPAction" => "searchBrief" 
      })
      .body
    end
  rescue Timeout::Error
    raise Timeout::Error, "Primo search request aborted! The server has not responded within #{adapter.timeout} seconds!"
  end
end