Class: PaygatePk::HTTP::Client
- Inherits:
-
Object
- Object
- PaygatePk::HTTP::Client
- Defined in:
- lib/paygate_pk/http/client.rb
Overview
Simple HTTP client using Faraday
Instance Method Summary collapse
- #get(path, params: {}, headers: {}) ⇒ Object
-
#initialize(base_url:, headers: {}, timeouts: {}, retry_conf: {}, logger: nil) ⇒ Client
constructor
A new instance of Client.
- #post(path, json: nil, form: nil, headers: {}) ⇒ Object
Constructor Details
#initialize(base_url:, headers: {}, timeouts: {}, retry_conf: {}, logger: nil) ⇒ Client
Returns a new instance of Client.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/paygate_pk/http/client.rb', line 12 def initialize(base_url:, headers: {}, timeouts: {}, retry_conf: {}, logger: nil) @conn = Faraday.new(url: base_url) do |f| f.request :retry, max: retry_conf[:max] || 2, interval: retry_conf[:interval] || 0.2, backoff_factor: retry_conf[:backoff_factor] || 2.0, retry_statuses: retry_conf[:retry_statuses] || [429, 500, 502, 503, 504] f.request :url_encoded f.response :raise_error f.adapter Faraday.default_adapter end @headers = headers @timeouts = timeouts @logger = logger end |
Instance Method Details
#get(path, params: {}, headers: {}) ⇒ Object
34 35 36 |
# File 'lib/paygate_pk/http/client.rb', line 34 def get(path, params: {}, headers: {}) request(:get, path, params: params, headers: headers) end |
#post(path, json: nil, form: nil, headers: {}) ⇒ Object
30 31 32 |
# File 'lib/paygate_pk/http/client.rb', line 30 def post(path, json: nil, form: nil, headers: {}) request(:post, path, json: json, form: form, headers: headers) end |