class Keen::HTTP::Async
Public Class Methods
new(base_url, options={})
click to toggle source
# File lib/keen/http.rb, line 56 def initialize(base_url, options={}) if defined?(EventMachine) && EventMachine.reactor_running? require 'em-http-request' else raise Error, "An EventMachine loop must be running to use publish_async calls" end @base_url = base_url @proxy_url, @proxy_type = options.values_at(:proxy_url, :proxy_type) end
Public Instance Methods
post(options)
click to toggle source
# File lib/keen/http.rb, line 67 def post(options) path, headers, body = options.values_at( :path, :headers, :body) uri = "#{@base_url}#{path}" if @proxy_url proxy_uri = URI.parse(@proxy_url) connection_options = {:proxy => {:host => proxy_uri.host, :port => proxy_uri.port, :authorization => [proxy_uri.user, proxy_uri.password], :type => @proxy_type || "http"}} http_client = EventMachine::HttpRequest.new(uri, connection_options) else http_client = EventMachine::HttpRequest.new(uri) end http_client.post( :body => body, :head => headers ) end