class Request

Representa uma requisicao

Constants

URL_API
VERB_MAP

Public Class Methods

new(token) click to toggle source
# File lib/request.rb, line 17
def initialize(token)
  @token = token
end

Public Instance Methods

send(method, path, params = nil) click to toggle source
# File lib/request.rb, line 21
def send(method, path, params = nil) 
  uri = URI.parse(URL_API + path)
  Net::HTTP.start(uri.host, uri.port, use_ssl: true) do |https|
    req = build_request(method, uri, params)
    build_response(https.request(req))
  end
end

Private Instance Methods

build_request(method, uri, params) click to toggle source
# File lib/request.rb, line 31
def build_request(method, uri, params)
  uri.query = URI.encode_www_form(params) if method == :get && params
  req = VERB_MAP[method].new(uri, @token.header)
  req.body = params.to_json if params && method != :get
  req
end
build_response(resp_http) click to toggle source
# File lib/request.rb, line 38
def build_response(resp_http)
  case resp_http
  when Net::HTTPSuccess then
    Response.new(resp_http)
  else
    ErroStrans.new(code: resp_http.code, message: resp_http.message)
  end
end