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

do a HTTP request, return its response or, when not successful, raise an error.



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

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
  request = build_request verb, uri, body, headers, client: client

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

  ::Simple::HTTP::Response.new request: request,
                               status: Integer(resp.code),
                               message: resp.message,
                               headers: Simple::HTTP::Headers.new(resp),
                               body: resp.body
end