Class: Matterhorn::HttpClient

Inherits:
Object
  • Object
show all
Defined in:
lib/matterhorn/http_client.rb

Overview

Matterhorn::HttpClient ===

Instance Method Summary collapse

Constructor Details

#initialize(protocol, domain, org_domain, user, password, auth_mode, http_timeout = nil, ssl_dont_verify_cert = false, multi_tenant = true) ⇒ HttpClient

————————————————————————— initialization —



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/matterhorn/http_client.rb', line 17

def initialize(protocol, domain, org_domain, user, password, auth_mode,
               http_timeout = nil, ssl_dont_verify_cert = false, multi_tenant = true)
  @multi_tenant = multi_tenant
  @uri = if @multi_tenant && !org_domain.nil? && !org_domain.empty?
           URI.parse("#{protocol}://#{org_domain.gsub(/\./, '-')}.#{domain}")
         else
           URI.parse("#{protocol}://#{domain}")
         end
  @uri.user     = user
  @uri.password = password 
  @auth_mode    = auth_mode
  @ssl          = @uri.port == 443 ? true : false
  @timeout      = http_timeout
  @ssl_dont_verify_cert = ssl_dont_verify_cert
end

Instance Method Details

#closeObject



65
66
67
# File 'lib/matterhorn/http_client.rb', line 65

def close
  @http_socket.finish    if !@http_socket.nil? && @http_socket.started?
end

#delete(url) ⇒ Object



59
60
61
62
# File 'lib/matterhorn/http_client.rb', line 59

def delete(url)
  request = Net::HTTP::Delete.new(@uri.request_uri + url)
  execute_request(request)
end

#get(url, headers = nil) ⇒ Object

—————————————————————————- http methodes —



36
37
38
39
# File 'lib/matterhorn/http_client.rb', line 36

def get(url, headers = nil)
  request = Net::HTTP::Get.new(@uri.request_uri + url, headers)
  execute_request(request)
end

#post(url, params = {}, file = nil, filename = nil, mime_type = nil) ⇒ Object



42
43
44
45
46
47
48
49
# File 'lib/matterhorn/http_client.rb', line 42

def post(url, params = {}, file = nil, filename = nil, mime_type = nil)
  if params.has_key?('BODY') || !file.nil?
    request = multipart_post(url, params, file, filename, mime_type)
  else
    request = singlepart_post(url, params)
  end
  execute_request(request)
end

#put(url, params = {}) ⇒ Object



52
53
54
55
56
# File 'lib/matterhorn/http_client.rb', line 52

def put(url, params = {})
  request = Net::HTTP::Put.new(@uri.request_uri + url)
  request.set_form_data(params)
  execute_request(request)
end