Module: Quovo::Request

Included in:
Api::Base, Token
Defined in:
lib/quovo/request.rb

Defined Under Namespace

Classes: FakeRequest

Instance Method Summary collapse

Instance Method Details

#request(method, path, params = {}, format = :plain, config = Quovo.config) {|request| ... } ⇒ Object

Yields:



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/quovo/request.rb', line 5

def request(method, path, params = {}, format = :plain, config = Quovo.config)
  return fake_request(method, path, params, &Proc.new) if Quovo.fake?

  uri = build_uri(config.endpoint, method, path, params)
  request = build_http_request(uri, method, params)

  yield(request) if block_given?

  do_http_request(request, config.request_timeout, format) do |status_code, payload, elapsed|
    Quovo.run_hooks!(
      path,
      method.to_s.upcase,
      strip_sensitive(params, config),
      status_code,
      strip_sensitive(payload, config),
      elapsed
    )
    payload
  end
end