Class: Epayments::Request
- Inherits:
-
Object
- Object
- Epayments::Request
- Defined in:
- lib/epayments/request.rb
Class Method Summary collapse
- .check_response(response) ⇒ Object
- .perform(method, uri, headers, body) ⇒ Object
- .prepare_http(uri) ⇒ Object
- .prepare_request(method, uri, headers, body) ⇒ Object
- .set_headers(request, headers) ⇒ Object
Class Method Details
.check_response(response) ⇒ Object
40 41 42 43 44 |
# File 'lib/epayments/request.rb', line 40 def check_response(response) return unless response.class == Net::HTTPBadRequest raise "Bad request! Response code: #{response.code}, body: #{response.body}" end |
.perform(method, uri, headers, body) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/epayments/request.rb', line 10 def perform(method, uri, headers, body) raise "Unsupported method #{method}" unless %w[post get].include?(method.to_s) http = prepare_http(uri) request = prepare_request(method, uri, headers, body) response = http.request(request) check_response(response) JSON.parse(response.body) end |
.prepare_http(uri) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/epayments/request.rb', line 20 def prepare_http(uri) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE http end |
.prepare_request(method, uri, headers, body) ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/epayments/request.rb', line 28 def prepare_request(method, uri, headers, body) request = "Net::HTTP::#{method.capitalize}".constantize.new(uri.request_uri) request.body = body set_headers(request, headers) request end |
.set_headers(request, headers) ⇒ Object
36 37 38 |
# File 'lib/epayments/request.rb', line 36 def set_headers(request, headers) headers.each { |key, value| request[key] = value } end |