Sha256: 5539eb3caf6a63760f8c0cc914270a369f55a4e478655d06392b5264b89f9213
Contents?: true
Size: 983 Bytes
Versions: 7
Compression:
Stored size: 983 Bytes
Contents
# frozen_string_literal: true module Capybara class Server class Checker TRY_HTTPS_ERRORS = [EOFError, Net::ReadTimeout, Errno::ECONNRESET].freeze def initialize(host, port) @host, @port = host, port @ssl = false end def request(&block) ssl? ? https_request(&block) : http_request(&block) rescue *TRY_HTTPS_ERRORS # _rubocop:disable Naming/RescuedExceptionsVariableName res = https_request(&block) @ssl = true res end def ssl? @ssl end private def http_request(&block) make_request(read_timeout: 2, &block) end def https_request(&block) make_request(ssl_options, &block) end def make_request(**options, &block) Net::HTTP.start(@host, @port, options.merge(max_retries: 0), &block) end def ssl_options { use_ssl: true, verify_mode: OpenSSL::SSL::VERIFY_NONE } end end end end
Version data entries
7 entries across 7 versions & 1 rubygems