Sha256: c6d181947af36ff569bb1c681bcb0ad0fede829fa3c3e07681c544f81bd83e6d

Contents?: true

Size: 689 Bytes

Versions: 1

Compression:

Stored size: 689 Bytes

Contents

# frozen_string_literal: true

module Spandx
  module Gateways
    class Http
      attr_reader :driver

      def initialize(driver: Http.default_driver)
        @driver = driver
      end

      def get(uri, default: nil)
        driver.with_retry do |client|
          client.get(Addressable::URI.escape(uri))
        end
      rescue *Net::Hippie::CONNECTION_ERRORS
        default
      end

      def ok?(response)
        response.is_a?(Net::HTTPSuccess)
      end

      def self.default_driver
        @default_driver ||= Net::Hippie::Client.new.tap do |client|
          client.logger = Spandx.logger
          client.follow_redirects = 3
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spandx-0.8.0 lib/spandx/gateways/http.rb