Module: Simple::HTTP::Driver::Default

Extended by:
Default
Included in:
Default
Defined in:
lib/simple/http/driver/default.rb

Instance Method Summary collapse

Instance Method Details

#execute_request(request, client:) ⇒ Object

does an HTTP request and returns its response.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/simple/http/driver/default.rb', line 13

def execute_request(request, client:)
  verb, url, body, headers =
    request.verb, request.url, request.body, request.headers

  uri = URI.parse(url)

  # build Net::HTTP request
  net_request = build_request verb, uri, body, headers, client: client

  # execute request
  net_http = load_net_http(uri.scheme, uri.host, uri.port)
  response = net_http.request(net_request)

  {
    status: Integer(response.code),
    message: response.message,
    headers: Simple::HTTP::Headers.new(response),
    body: response.body
  }
end