class HermesAPI::Connection

Public Instance Methods

request(method, path, *arguments) click to toggle source
# File lib/hermes_api/connection.rb, line 3
def request(method, path, *arguments)
  result = ActiveSupport::Notifications.instrument("request.active_resource") do |payload|
    payload[:method] = method
    payload[:request_uri] = "#{site.scheme}://#{site.host}:#{site.port}#{path}"
    payload[:result] = http.send(method, path, *arguments)
  end

  if result.body.include?("errorMessages")
    raise HermesAPI::CreationError.new(result)
  end
  handle_response(result)
rescue Timeout::Error => e
  raise TimeoutError.new(e.message)
rescue OpenSSL::SSL::SSLError => e
  raise SSLError.new(e.message)
end