class Tessera::Request

Public Class Methods

new(method, endpoint, body) click to toggle source
# File lib/tessera/request.rb, line 21
def initialize(method, endpoint, body)
  @method = method
  @endpoint = endpoint
  @body = body
end

Public Instance Methods

send() click to toggle source
# File lib/tessera/request.rb, line 27
def send
  net_http_send
  # Response.new(net_http_send)
end

Protected Instance Methods

headers() click to toggle source
# File lib/tessera/request.rb, line 50
def headers
  {
    'Accept-Encoding' => 'application/json',
    'Content-Type' => 'application/json'
  }
end
net_http_class() click to toggle source
# File lib/tessera/request.rb, line 46
def net_http_class
  Kernel.const_get("Net::HTTP::#{@method.capitalize}")
end
net_http_send() click to toggle source
# File lib/tessera/request.rb, line 34
def net_http_send
  uri = URI("#{Tessera.configuration.base_url}#{@endpoint}")

  request = net_http_class.new(uri)
  headers.each { |k, v| request[k] = v }
  request.body = @body.to_json

  Net::HTTP.start(uri.hostname, uri.port, use_ssl: (uri.scheme == 'https')) do |http|
    http.request(request)
  end
end