class Conjure::HttpRequest

Public Class Methods

new(url, options = {}) click to toggle source
# File lib/conjure/http_request.rb, line 5
def initialize(url, options = {})
  @uri = URI(url)
  @headers = options[:headers] || {}
  @data = options[:data]
  @method = options[:method] || :get
  @ssl = (url.index("https://") == 0)
end

Public Instance Methods

data() click to toggle source
# File lib/conjure/http_request.rb, line 13
def data
  Net::HTTP.start @uri.host, @uri.port, :use_ssl => @ssl do |http|
    http.request(request).body
  end
end

Private Instance Methods

request() click to toggle source
# File lib/conjure/http_request.rb, line 21
def request
  request_class.new(@uri).tap do |object|
    @headers.each { |key, value| object[key] = value }
    object.body = @data if @data
  end
end
request_class() click to toggle source
# File lib/conjure/http_request.rb, line 28
def request_class
  @method == :post ? Net::HTTP::Post : Net::HTTP::Get
end