Sha256: 5f54c24460bfe5503ad22401a78d259294f9cf9272e666763a52f93b0ca534ed
Contents?: true
Size: 1.81 KB
Versions: 1
Compression:
Stored size: 1.81 KB
Contents
# encoding: utf-8 module WebTranslateIt class Connection require 'net/http' require 'net/https' require 'openssl' require 'uri' require 'ostruct' @@api_key = nil @@http_connection = nil # # 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 # 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 def self.http_connection @@http_connection end def self.api_key @@api_key end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
web_translate_it-2.3.3 | lib/web_translate_it/connection.rb |