Sha256: 423803eb5350a6b4a352ccf73e8ada1c0799c1e2c88f08f8d02dd7069d9f05c0
Contents?: true
Size: 1.15 KB
Versions: 6
Compression:
Stored size: 1.15 KB
Contents
require 'faraday' require 'yardi/utils' require 'yardi/utils/configuration_validator' module Yardi module Utils # Send a SOAP request to Yardi class RequestFetcher # @param generator [RequestGenerator] an instance of a RequestGenerator, # which responds to #generate. # @param connection [Faraday::Connection] The connection we'll use to # make the request def initialize(connection:, endpoint:, generator:) @connection = connection @endpoint = endpoint @generator = generator end # @return [String] the XML response from Yardi def fetch ConfigurationValidator.new.validate! response = perform! raise Yardi::Error::ResourceNotFound, response.body if response.status == 404 response.body end private attr_reader :connection, :endpoint, :generator def perform! connection.post(endpoint) do |request| request.body = generator.body request.headers = generator.headers end rescue Errno::EADDRNOTAVAIL => e raise Yardi::Error::ConnectionError, e.message end end end end
Version data entries
6 entries across 6 versions & 1 rubygems