class Wompi::RApi::Request

Attributes

_url[RW]
error[R]
headers[RW]
http_verb[R]
login[RW]
params[RW]
response[R]
url[RW]
with_authentication_key[RW]

Public Class Methods

new(login=nil, with_authentication_key=false) click to toggle source
# File lib/wompi/r_api/request.rb, line 13
def initialize(login=nil, with_authentication_key=false)
  @login = login
  @with_authentication_key = with_authentication_key
  @url = RApi.get_base_url
end

Public Instance Methods

fail?() click to toggle source
# File lib/wompi/r_api/request.rb, line 23
def fail?
  !@error.nil?
end
success?() click to toggle source
# File lib/wompi/r_api/request.rb, line 19
def success?
  @error.nil? && !@response.nil?
end

Private Instance Methods

http() click to toggle source
# File lib/wompi/r_api/request.rb, line 37
def http

  uri = URI.parse(@url)

  https = Net::HTTP.new(uri.host,uri.port)

  https.use_ssl = true
  https.verify_mode = OpenSSL::SSL::VERIFY_NONE

  net_class = Object.const_get("Net::HTTP::#{http_verb}")
  @headers = {"Content-Type" => "application/json"}

  if @with_authentication_key == "pub_key"
    @headers["Authorization"] = "Bearer #{RApi.pub_key}"
  end
  if @with_authentication_key == "prv_key"
    @headers["Authorization"] = "Bearer #{RApi.prv_key}"
  end
  request = net_class.new(uri, initheader = @headers)

  if http_verb == "Post"

    request.body = @params.to_json
  end

  request = https.request(request)

  if request.is_a?(Net::HTTPSuccess)
    begin
      @response = JSON.parse(request.body)
    rescue
      @response = request.body
    end
    @error = nil
  else
    @response = nil
    @error = JSON.parse(request.body)
  end
end
reset_url() click to toggle source
# File lib/wompi/r_api/request.rb, line 33
def reset_url
  @url = url
end