module Spidy::Connector

This class is responsible for actually making a network connection and downloading hypertext

Constants

DEFAULT_LOGGER

error output logger

DEFAULT_WAIT_TIME
USER_AGENT

default user agent

Public Class Methods

get(value, wait_time: nil, user_agent: nil, socks_proxy: nil, logger: nil) click to toggle source
# File lib/spidy/connector.rb, line 123
def self.get(value, wait_time: nil, user_agent: nil, socks_proxy: nil, logger: nil)
  user_agent ||= USER_AGENT
  logger ||= DEFAULT_LOGGER
  wait_time ||= DEFAULT_WAIT_TIME

  connector = get_connector(value, user_agent: user_agent, socks_proxy: socks_proxy)
  return connector if connector.is_a?(Spidy::Connector::Direct)

  RetryableCaller.new(connector, wait_time: wait_time, logger: logger)
end
get_connector(value, user_agent: nil, socks_proxy: nil) click to toggle source

get connection handller

# File lib/spidy/connector.rb, line 137
def self.get_connector(value, user_agent: nil, socks_proxy: nil)
  return value if value.respond_to?(:call)

  connector = const_get(value.to_s.classify).new(user_agent: user_agent)
  fail "Not defined connnector[#{value}]" if connector.nil?
  return connector if socks_proxy.nil?

  tor = TorConnector.new(connector, socks_proxy)
  tor
end