Sha256: 970e4fffd8e46510fad322d901e4ea33fc7a5d872043d49c7bb1c2109913d3cc
Contents?: true
Size: 927 Bytes
Versions: 12
Compression:
Stored size: 927 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 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
12 entries across 12 versions & 3 rubygems