Class: RouterBase::NetHTTPTransport

Inherits:
Object
  • Object
show all
Defined in:
lib/routerbase/client.rb

Defined Under Namespace

Classes: Response

Instance Method Summary collapse

Instance Method Details

#request(method:, uri:, headers:, body: nil) ⇒ Object



69
70
71
72
73
74
75
76
77
78
79
# File 'lib/routerbase/client.rb', line 69

def request(method:, uri:, headers:, body: nil)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = uri.scheme == "https"

  request = method == :get ? Net::HTTP::Get.new(uri) : Net::HTTP::Post.new(uri)
  headers.each { |key, value| request[key] = value }
  request.body = body unless body.nil?

  response = http.request(request)
  Response.new(code: response.code, body: response.body)
end