lagged/apt-spy2

View on GitHub
lib/apt/spy2/request.rb

Summary

Maintainability
A
0 mins
Test Coverage
# frozen_string_literal: true

require 'net/http'
require 'net/https'
require 'uri'

module Apt
  module Spy2
    # make requests
    class Request
      def initialize(url)
        uri = URI(url)

        # sets hopefully sensible timeouts for read and connection
        http = Net::HTTP.new(uri.host, uri.port)
        http.read_timeout = 10
        http.open_timeout = 10
        http.use_ssl = true if uri.scheme == 'https'

        @http = http
        @request_uri = uri.request_uri
      end

      def get
        @http.request(Net::HTTP::Get.new(@request_uri))
      end

      def head
        @http.request(Net::HTTP::Head.new(@request_uri))
      end
    end
  end
end