class Pokey::Request

Attributes

data[RW]
destination[RW]
http_method[RW]

Public Class Methods

make!(destination, http_method, data) click to toggle source
# File lib/pokey/request.rb, line 43
def self.make!(destination, http_method, data)
  request = Pokey::Request.new(destination, http_method, data)
  request.make!
  request
end
new(destination, http_method = :post, data = {}) click to toggle source
# File lib/pokey/request.rb, line 8
def initialize(destination, http_method = :post, data = {})
  @destination, @http_method, @data = destination, http_method, data
  @log = Pokey::Logger.new.log
end

Public Instance Methods

make!() click to toggle source
# File lib/pokey/request.rb, line 17
def make!
  Net::HTTP.start(uri.host, uri.port) do |http|
    request = raw_request

    if request.is_a?(Net::HTTP::Post)
      request.set_form_data(@data)
    end

    response = http.request(request)

    if response
      @log.info "Made request to #{uri.host}:#{uri.port} with following data: #{@data}"
    end
  end 
end
raw_request() click to toggle source
# File lib/pokey/request.rb, line 13
def raw_request
  http_object
end
uri() click to toggle source
# File lib/pokey/request.rb, line 33
def uri
  raw_uri = URI.parse(@destination)
  
  if @http_method == :get
    raw_uri.query = URI.encode_www_form(@data)
  end

  raw_uri
end

Private Instance Methods

http_object() click to toggle source
# File lib/pokey/request.rb, line 51
def http_object
  @http_object ||= begin
    if @http_method == :get
      Net::HTTP::Get.new(uri)
    elsif @http_method == :post
      Net::HTTP::Post.new(uri)
    else
      raise UnknownHTTPObjectError
    end
  end
end