Module: Simple::HTTP::Driver::Faraday

Extended by:
Faraday
Included in:
Faraday
Defined in:
lib/simple/http/driver/faraday.rb

Constant Summary collapse

URI_KLASSES =
{
  "http" => URI::HTTP,
  "https" => URI::HTTPS
}

Instance Method Summary collapse

Instance Method Details

#execute_request(request, client:) ⇒ Object

does an HTTP request and returns its response.



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

def execute_request(request, client:)
  connection = build_connection(request.url, client: client)

  headers = request.headers.dup

  body = request.body

  resp = connection.run_request(request.verb.downcase, request.url, body, headers)

  {
    status: Integer(resp.status),
    message: resp.reason_phrase,
    headers: Simple::HTTP::Headers.new(resp.headers.to_hash),
    body: resp.body
  }
end