Class: WebTranslateIt::Connection

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

Constant Summary collapse

@@api_key =
nil
@@http_connection =
nil

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_key) ⇒ Connection

Initialize and yield a HTTPS Keep-Alive connection to WebTranslateIt.com

Usage:

WebTranslateIt::Connection.new(api_key) do

# do something with Connection.api_key and Connection.http_connection

end

Or:

WebTranslateIt::Connection.new(api_key) do |http_connection|

http_connection.request(request)

end



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/web_translate_it/connection.rb', line 28

def initialize(api_key)
  @@api_key = api_key
  proxy = ENV['http_proxy'] ? URI.parse(ENV['http_proxy']) : OpenStruct.new
  http = Net::HTTP::Proxy(proxy.host, proxy.port, proxy.user, proxy.password).new('webtranslateit.com', 443)
  http.use_ssl      = true
  http.open_timeout = http.read_timeout = 60
  begin
    http.verify_mode  = OpenSSL::SSL::VERIFY_PEER
    if File.exists?('/etc/ssl/certs') # Ubuntu
      http.ca_path = '/etc/ssl/certs'
    else
      http.ca_file = File.expand_path('../cacert.pem', __FILE__)
    end
    @@http_connection = http.start
    yield @@http_connection if block_given?
  rescue OpenSSL::SSL::SSLError
    puts "Unable to verify SSL certificate."
    http = Net::HTTP::Proxy(proxy.host, proxy.port, proxy.user, proxy.password).new('webtranslateit.com', 443)
    http.use_ssl      = true
    http.open_timeout = http.read_timeout = 60
    http.verify_mode  = OpenSSL::SSL::VERIFY_NONE
    @@http_connection = http.start
    yield @@http_connection if block_given?
  end
end

Class Method Details

.api_keyObject



58
59
60
# File 'lib/web_translate_it/connection.rb', line 58

def self.api_key
  @@api_key
end

.http_connectionObject



54
55
56
# File 'lib/web_translate_it/connection.rb', line 54

def self.http_connection
  @@http_connection
end