lib/gemirro/http.rb in gemirro-1.3.0 vs lib/gemirro/http.rb in gemirro-1.4.0
- old
+ new
@@ -27,9 +27,36 @@
##
# @return [HTTPClient]
#
def self.client
- @client ||= HTTPClient.new
+ client ||= HTTPClient.new
+ config = Utils.configuration
+ if defined?(config.upstream_user)
+ user = config.upstream_user
+ password = config.upstream_password
+ domain = config.upstream_domain
+ client.set_auth(domain, user, password)
+ end
+
+ if defined?(config.proxy)
+ proxy = config.proxy
+ client.proxy=(proxy)
+ end
+
+ # Use my own ca file for self signed cert
+ if defined?(config.rootca)
+ abort "The configuration file #{config.rootca} does not exist" unless File.file?(config.rootca)
+ client.ssl_config.verify_mode = OpenSSL::SSL::VERIFY_PEER
+ client.ssl_config.set_trust_ca(config.rootca)
+ elsif defined?(config.verify_mode)
+ client.ssl_config.verify_mode = OpenSSL::SSL::VERIFY_NONE unless config.verify_mode
+ end
+
+ # Enforce base auth
+ if defined?(config.basic_auth)
+ client.force_basic_auth=(true) if config.basic_auth
+ end
+ @client = client
end
end
end