Class: GAppsProvisioning::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/gappsprovisioning/connection.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(host, port, proxy = nil, proxy_port = nil, proxy_user = nil, proxy_passwd = nil, ssl_mode = 'unverified') ⇒ Connection

Establishes SSL connection to Google host params :

ssl_mode = 'none' (connect using http only)
ssl_mode = 'verified'
ssl_mode = 'unverified' (use at your own risk!)


28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/gappsprovisioning/connection.rb', line 28

def initialize(host, port, proxy=nil, proxy_port=nil, proxy_user=nil, proxy_passwd=nil, ssl_mode='unverified')
  conn = Net::HTTP.new(host, port, proxy, proxy_port, proxy_user, proxy_passwd)
  if !ssl_mode.nil? && ssl_mode != 'none'
    conn.use_ssl = true
    #conn.enable_post_connection_check=  true
    conn.verify_mode = (ssl_mode == 'unverified') ? 
      OpenSSL::SSL::VERIFY_NONE : OpenSSL::SSL::VERIFY_PEER
    store = OpenSSL::X509::Store.new
    store.set_default_paths
    conn.cert_store = store
  end
  conn.start
  @http_connection = conn
end

Instance Attribute Details

#http_connectionObject (readonly)

Returns the value of attribute http_connection.



21
22
23
# File 'lib/gappsprovisioning/connection.rb', line 21

def http_connection
  @http_connection
end

Instance Method Details

#perform(method, path, body = nil, header = nil) ⇒ Object

Performs the http request and returns the http response



44
45
46
47
48
49
50
51
# File 'lib/gappsprovisioning/connection.rb', line 44

def perform(method, path, body=nil, header=nil)
  req = Net::HTTPGenericRequest.new(method, !body.nil?, true, path)
  req['Content-Type'] = header['Content-Type'] if header['Content-Type']
  req['Authorization'] = header['Authorization'] if header['Authorization']
  req['Content-length'] = body.length.to_s if body
  resp = @http_connection.request(req, body)
  return resp
end