Class: JanioAPI::Connection

Inherits:
ActiveResource::Connection
  • Object
show all
Defined in:
lib/janio_api/connection.rb

Instance Method Summary collapse

Instance Method Details

#request(method, path, *arguments) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/janio_api/connection.rb', line 3

def request(method, path, *arguments)
  result = ActiveSupport::Notifications.instrument("request.active_resource") { |payload|
    payload[:method] = method
    payload[:request_uri] = "#{site.scheme}://#{site.host}:#{site.port}#{path}"

    payload[:result] = if method == :get
      RedirectFetcher.get("#{site}#{path}")
    else
      http.send(method, path, *arguments)
    end
  }
  handle_response(result)
rescue Timeout::Error => e
  raise ActiveResource::TimeoutError.new(e.message)
rescue OpenSSL::SSL::SSLError => e
  raise ActiveResource::SSLError.new(e.message)
end