Class: Keen::HTTP::Sync

Inherits:
Object
  • Object
show all
Defined in:
lib/keen/http.rb

Instance Method Summary collapse

Constructor Details

#initialize(base_url, proxy_url = nil) ⇒ Sync

Returns a new instance of Sync.



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/keen/http.rb', line 4

def initialize(base_url, proxy_url=nil)
  require 'uri'
  require 'net/http'

  uri = URI.parse(base_url)
  if proxy_url
    proxy_uri = URI.parse(proxy_url)
    @http = Net::HTTP::Proxy(
        proxy_uri.host,
        proxy_uri.port,
        proxy_uri.user,
        proxy_uri.password).new(uri.host, uri.port)
  else
    @http = Net::HTTP.new(uri.host, uri.port)
  end

  if uri.scheme == "https"
    require 'net/https'
    @http.use_ssl = true;
    @http.verify_mode = OpenSSL::SSL::VERIFY_PEER
    @http.verify_depth = 5
    @http.ca_file = File.expand_path("../../../config/cacert.pem", __FILE__)
  end
end

Instance Method Details

#delete(options) ⇒ Object



41
42
43
44
45
# File 'lib/keen/http.rb', line 41

def delete(options)
  path, headers = options.values_at(
    :path, :headers)
  @http.delete(path, headers)
end

#get(options) ⇒ Object



35
36
37
38
39
# File 'lib/keen/http.rb', line 35

def get(options)
  path, headers = options.values_at(
    :path, :headers)
  @http.get(path, headers)
end

#post(options) ⇒ Object



29
30
31
32
33
# File 'lib/keen/http.rb', line 29

def post(options)
  path, headers, body = options.values_at(
    :path, :headers, :body)
  @http.post(path, body, headers)
end