Class: Payrex::HttpClient
- Inherits:
-
Object
- Object
- Payrex::HttpClient
- Defined in:
- lib/http_client.rb
Instance Method Summary collapse
-
#initialize(api_key:, base_url:) ⇒ HttpClient
constructor
A new instance of HttpClient.
- #request(method:, path:, params: {}) ⇒ Object
Constructor Details
#initialize(api_key:, base_url:) ⇒ HttpClient
Returns a new instance of HttpClient.
3 4 5 6 |
# File 'lib/http_client.rb', line 3 def initialize(api_key:, base_url:) @api_key = api_key @base_url = base_url end |
Instance Method Details
#request(method:, path:, params: {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/http_client.rb', line 8 def request(method:, path:, params: {}) uri = URI("#{@base_url}/#{path}") request = build_request(method: method, params: params, uri: uri) response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https") { |http| http.request(request) } raise StandardError.new(response.to_s) if response.body.nil? handle_error(response) if failed?(response) Payrex::ApiResource.new(JSON.parse(response.body)) end |