class RequestRepeater::RequestMaker

Constants

InvalidURL

Attributes

endpoints[R]
sleeper[W]

Public Class Methods

new(endpoints) click to toggle source
# File lib/request_repeater/request_maker.rb, line 8
def initialize(endpoints)
  @endpoints = endpoints
end

Public Instance Methods

run() click to toggle source
# File lib/request_repeater/request_maker.rb, line 12
def run
  loop do
    endpoints.each do |e|
      e.execute do
        request(e.uri)
      end
    end
    sleeper.call(minimum_sleep)
  end
end

Private Instance Methods

log_response(url, res) click to toggle source
# File lib/request_repeater/request_maker.rb, line 35
def log_response(url, res)
  RequestRepeater.logger.info "request #{url} #{res}"
end
minimum_sleep() click to toggle source
# File lib/request_repeater/request_maker.rb, line 39
def minimum_sleep
  RequestRepeater.sleeptime((ENV['MINIMUMSLEEP'] || 500).to_i)
end
request(uri) click to toggle source
# File lib/request_repeater/request_maker.rb, line 24
def request(uri)
  req = Net::HTTP::Get.new(uri)

  Net::HTTP.start(uri.host, uri.port,
                  :use_ssl => uri.scheme == 'https',
                  :verify_mode => OpenSSL::SSL::VERIFY_NONE) do |https|
                    https.request(req)
                  end
                  .tap {|res| log_response(uri.to_s, res) }
end
sleeper() click to toggle source
# File lib/request_repeater/request_maker.rb, line 43
def sleeper
  @sleeper ||= ->(sleepfor) { sleep sleepfor }
end