Class: Gpdb::HttpClient

Inherits:
Object
  • Object
show all
Defined in:
lib/gpdb/http_client.rb

Defined Under Namespace

Classes: HeadersMiddleware, JsonParseMiddleware

Instance Method Summary collapse

Instance Method Details

#request(request) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/gpdb/http_client.rb', line 26

def request(request)
  conn = Faraday.new(url: request.api_url) do |f|
    f.headers = request.headers
    f.use(HeadersMiddleware)

    f.request(:multipart)
    f.request(:url_encoded)

    f.use(JsonParseMiddleware)
    f.adapter(Faraday.default_adapter)
  end

  conn.public_send(request.method, request.path, request.params)
end