Method: Asdawqw::FaradayClient#initialize

Defined in:
lib/asdawqw/http/faraday_client.rb

#initialize(timeout: nil, cache: false, max_retries: nil, retry_interval: nil) ⇒ FaradayClient

The constructor.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/asdawqw/http/faraday_client.rb', line 13

def initialize(timeout: nil, cache: false,
               max_retries: nil, retry_interval: nil)
  @connection = Faraday.new do |faraday|
    faraday.use Faraday::HttpCache, serializer: Marshal if cache
    faraday.use FaradayMiddleware::FollowRedirects
    faraday.request :multipart
    faraday.request :url_encoded
    faraday.ssl[:ca_file] = Certifi.where
    faraday.request :retry, max: max_retries, interval: if max_retries &&
                                                           retry_interval
                                                          retry_interval
                                                        end
    faraday.adapter Faraday.default_adapter
    faraday.options[:params_encoder] = Faraday::FlatParamsEncoder
    faraday.options[:open_timeout] = timeout if timeout
  end
end