Class: Multiwoven::Integrations::Core::HttpClient

Inherits:
Object
  • Object
show all
Extended by:
HttpHelper
Defined in:
lib/multiwoven/integrations/core/http_client.rb

Class Method Summary collapse

Methods included from HttpHelper

build_request, configure_http

Class Method Details

.request(url, method, payload: nil, headers: {}, options: {}) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/multiwoven/integrations/core/http_client.rb', line 8

def request(url, method, payload: nil, headers: {}, options: {})
  config  = options[:config]  || {}
  params  = options[:params]  || {}
  uri = URI(url)

  if params && !params.empty?
    query = URI.encode_www_form(params)
    uri.query = [uri.query, query].compact.join("&")
  end

  http = configure_http(uri, config)
  request = build_request(method, uri, payload, headers)
  http.request(request)
end