class Restool::Service::RemoteClient
Public Class Methods
new(host, verify_ssl, timeout, opts)
click to toggle source
# File lib/restool/service/remote_client.rb, line 10 def initialize(host, verify_ssl, timeout, opts) @request_logger = Restool::RequestLogger.new(host, opts) @connection = build_connection(host, verify_ssl, timeout, opts) end
Public Instance Methods
make_request(path, method, request_params, headers, basic_auth)
click to toggle source
# File lib/restool/service/remote_client.rb, line 15 def make_request(path, method, request_params, headers, basic_auth) operation_request = RequestUtils.build_request(method, path, request_params, headers, basic_auth) @request_logger.log(operation_request) do @connection.request(operation_request.http_request) end end
Private Instance Methods
build_connection(host, verify_ssl, timeout, opts)
click to toggle source
# File lib/restool/service/remote_client.rb, line 25 def build_connection(host, verify_ssl, timeout, opts) uri = URI.parse(host) connection = if proxy_uri Net::HTTP.new(uri.host, uri.port, proxy_uri.host, proxy_uri.port) else Net::HTTP.new(uri.host, uri.port) end connection.use_ssl = uri.is_a?(URI::HTTPS) connection.verify_mode = verify_ssl?(verify_ssl) connection.read_timeout = timeout connection.open_timeout = timeout connection.set_debug_output($stdout) if opts[:debug] connection end
proxy_uri()
click to toggle source
# File lib/restool/service/remote_client.rb, line 43 def proxy_uri # Patch for Net/Http issue with env var proxy_env = ENV['http_proxy'] || ENV['HTTP_PROXY'] URI.parse(proxy_env) if proxy_env != nil && proxy_env != '' end
verify_ssl?(verify_ssl_setting)
click to toggle source
# File lib/restool/service/remote_client.rb, line 50 def verify_ssl?(verify_ssl_setting) verify_ssl_setting ? OpenSSL::SSL::VERIFY_PEER : OpenSSL::SSL::VERIFY_NONE end