class CLXRestAPI::Request
Attributes
uri[R]
Public Class Methods
new(uri, method: :get, config: CLXRestAPI.config)
click to toggle source
# File lib/clx_rest_api/request.rb, line 10 def initialize(uri, method: :get, config: CLXRestAPI.config) @config = config @method = method @uri = URI(uri) end
Public Instance Methods
execute(body = {})
click to toggle source
# File lib/clx_rest_api/request.rb, line 16 def execute(body = {}) response = http.request http_request(body) Response.new(response) end
Private Instance Methods
get_request(body)
click to toggle source
# File lib/clx_rest_api/request.rb, line 35 def get_request(body) @uri.query = URI.encode_www_form(body) Net::HTTP::Get.new(@uri).tap do |req| req["Authorization"] = "Bearer #{@config.api_token}" end end
http()
click to toggle source
# File lib/clx_rest_api/request.rb, line 23 def http @http ||= Net::HTTP.new(uri.host, uri.port) @http.tap do |protocol| protocol.use_ssl = true protocol.verify_mode = OpenSSL::SSL::VERIFY_PEER end end
http_request(body)
click to toggle source
# File lib/clx_rest_api/request.rb, line 31 def http_request(body) send "#{@method}_request", body end
post_request(body)
click to toggle source
# File lib/clx_rest_api/request.rb, line 42 def post_request(body) Net::HTTP::Post.new(@uri).tap do |req| req["Authorization"] = "Bearer #{@config.api_token}" req.content_type = "application/json" req.body = body.to_json end end