module Motor::NetHttpUtils

Public Instance Methods

build_request(method_class, url, params, headers, body) click to toggle source
# File lib/motor/net_http_utils.rb, line 19
def build_request(method_class, url, params, headers, body)
  uri = URI(url)
  uri.query = params.to_query

  request = method_class.new(uri)
  request.body = body if body.present?
  headers.each { |key, value| request[key] = value }

  request
end
execute_request(request) click to toggle source
# File lib/motor/net_http_utils.rb, line 30
def execute_request(request)
  uri = request.uri

  Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.port == 443) do |http|
    http.request(request)
  end
end
get(url, params = {}, headers = {}) click to toggle source
# File lib/motor/net_http_utils.rb, line 7
def get(url, params = {}, headers = {})
  request = build_request(Net::HTTP::Get, url, params, headers, nil)

  execute_request(request)
end
post(url, params = {}, headers = {}, body = '') click to toggle source
# File lib/motor/net_http_utils.rb, line 13
def post(url, params = {}, headers = {}, body = '')
  request = build_request(Net::HTTP::Post, url, params, headers, body)

  execute_request(request)
end