class HTTParty::ConnectionAdapter
def connection
def connection host = clean_host(uri.host) port = uri.port || (uri.scheme == 'https' ? 443 : 80) if options.key?(:http_proxyaddr) http = Net::HTTP.new( host, port, options[:http_proxyaddr], options[:http_proxyport], options[:http_proxyuser], options[:http_proxypass] ) else http = Net::HTTP.new(host, port) end http.use_ssl = ssl_implied?(uri) attach_ssl_certificates(http, options) if add_timeout?(options[:timeout]) http.open_timeout = options[:timeout] http.read_timeout = options[:timeout] from_ruby_version('2.6.0', option: :write_timeout, warn: false) do http.write_timeout = options[:timeout] end end if add_timeout?(options[:read_timeout]) http.read_timeout = options[:read_timeout] end if add_timeout?(options[:open_timeout]) http.open_timeout = options[:open_timeout] end if add_timeout?(options[:write_timeout]) from_ruby_version('2.6.0', option: :write_timeout) do http.write_timeout = options[:write_timeout] end end if add_max_retries?(options[:max_retries]) from_ruby_version('2.5.0', option: :max_retries) do http.max_retries = options[:max_retries] end end if options[:debug_output] http.set_debug_output(options[:debug_output]) end if options[:ciphers] http.ciphers = options[:ciphers] end # Bind to a specific local address or port # # @see https://bugs.ruby-lang.org/issues/6617 if options[:local_host] from_ruby_version('2.0.0', option: :local_host) do http.local_host = options[:local_host] end end if options[:local_port] from_ruby_version('2.0.0', option: :local_port) do http.local_port = options[:local_port] end end http end