class Purview::Pullers::URI

Public Instance Methods

pull(window) click to toggle source
# File lib/purview/pullers/uri.rb, line 4
def pull(window)
  request = windowed_request(window)
  with_context_logging("`pull` from: #{request.path}") do
    http.request(request).body
  end
end

Private Instance Methods

basic_auth?() click to toggle source
# File lib/purview/pullers/uri.rb, line 13
def basic_auth?
  username && password
end
host() click to toggle source
# File lib/purview/pullers/uri.rb, line 17
def host
  uri.host
end
http() click to toggle source
# File lib/purview/pullers/uri.rb, line 21
def http
  Net::HTTP.new(host, port).tap do |http|
    if https?
      http.use_ssl = true
      http.verify_mode = OpenSSL::SSL::VERIFY_NONE
    end
  end
end
https?() click to toggle source
# File lib/purview/pullers/uri.rb, line 30
def https?
  uri.scheme == 'https'
end
password() click to toggle source
# File lib/purview/pullers/uri.rb, line 34
def password
  opts[:password]
end
port() click to toggle source
# File lib/purview/pullers/uri.rb, line 38
def port
  uri.port
end
uri() click to toggle source
# File lib/purview/pullers/uri.rb, line 42
def uri
  ::URI.parse(opts[:uri])
end
username() click to toggle source
# File lib/purview/pullers/uri.rb, line 46
def username
  opts[:username]
end
windowed_request(window) click to toggle source
# File lib/purview/pullers/uri.rb, line 50
def windowed_request(window)
  Net::HTTP::Get.new(windowed_request_uri(window)).tap do |request|
    if basic_auth?
      request.basic_auth(username, password)
    end
  end
end
windowed_request_uri(window) click to toggle source
# File lib/purview/pullers/uri.rb, line 58
def windowed_request_uri(window)
  uri.to_s.tap do |request_uri|
    request_uri << (request_uri.include?('?') ? '&' : '?')
    request_uri << 'ts1=%s&ts2=%s' % [window.min.to_i, window.max.to_i]
  end
end