module Excon

Constants

CHUNK_SIZE
CR_NL
DEFAULT_CA_FILE
DEFAULT_CHUNK_SIZE
DEFAULT_NONBLOCK
DEFAULT_RETRY_LIMIT
FORCE_ENC
HTTPS
HTTP_1_1
HTTP_VERBS
NO_ENTITY
REDACTED
VERSION

Public Class Methods

defaults() click to toggle source

@return [Hash] defaults for Excon connections

# File lib/excon.rb, line 17
def defaults
  @defaults ||= {
    :chunk_size         => CHUNK_SIZE || DEFAULT_CHUNK_SIZE,
    :connect_timeout    => 60,
    :headers            => {},
    :instrumentor_name  => 'excon',
    :mock               => false,
    :nonblock           => DEFAULT_NONBLOCK,
    :read_timeout       => 60,
    :retry_limit        => DEFAULT_RETRY_LIMIT,
    :ssl_ca_file        => DEFAULT_CA_FILE,
    :ssl_verify_peer    => RbConfig::CONFIG['host_os'] !~ /mswin|win32|dos|cygwin|mingw/,
    :write_timeout      => 60
  }
end
defaults=(new_defaults) click to toggle source

Change defaults for Excon connections @return [Hash] defaults for Excon connections

# File lib/excon.rb, line 35
def defaults=(new_defaults)
  @defaults = new_defaults
end
mock() click to toggle source

Status of mocking

# File lib/excon.rb, line 54
def mock
  $stderr.puts("Excon#mock is deprecated, pass Excon.defaults[:mock] instead (#{caller.first})")
  self.defaults[:mock]
end
mock=(new_mock) click to toggle source

Change the status of mocking false is the default and works as expected true returns a value from stubs or raises

# File lib/excon.rb, line 62
def mock=(new_mock)
  $stderr.puts("Excon#mock is deprecated, pass Excon.defaults[:mock]= instead (#{caller.first})")
  self.defaults[:mock] = new_mock
end
new(url, params = {}) click to toggle source

@see Connection#initialize Initializes a new keep-alive session for a given remote host

@param [String] url The destination URL
@param [Hash<Symbol, >] params One or more option params to set on the Connection instance
@return [Connection] A new Excon::Connection instance
# File lib/excon.rb, line 98
def new(url, params = {})
  Excon::Connection.new(url, params)
end
ssl_ca_path() click to toggle source

@return [String] The filesystem path to the SSL Certificate Authority

# File lib/excon.rb, line 68
def ssl_ca_path
  $stderr.puts("Excon#ssl_ca_path is deprecated, use Excon.defaults[:ssl_ca_path] instead (#{caller.first})")
  self.defaults[:ssl_ca_path]
end
ssl_ca_path=(new_ssl_ca_path) click to toggle source

Change path to the SSL Certificate Authority @return [String] The filesystem path to the SSL Certificate Authority

# File lib/excon.rb, line 75
def ssl_ca_path=(new_ssl_ca_path)
  $stderr.puts("Excon#ssl_ca_path= is deprecated, use Excon.defaults[:ssl_ca_path]= instead (#{caller.first})")
  self.defaults[:ssl_ca_path] = new_ssl_ca_path
end
ssl_verify_peer() click to toggle source

@return [true, false] Whether or not to verify the peer's SSL certificate / chain

# File lib/excon.rb, line 81
def ssl_verify_peer
  $stderr.puts("Excon#ssl_verify_peer= is deprecated, use Excon.defaults[:ssl_verify_peer]= instead (#{caller.first})")
  self.defaults[:ssl_verify_peer]
end
ssl_verify_peer=(new_ssl_verify_peer) click to toggle source

Change the status of ssl peer verification @see Excon#ssl_verify_peer (attr_reader)

# File lib/excon.rb, line 88
def ssl_verify_peer=(new_ssl_verify_peer)
  $stderr.puts("Excon#ssl_verify_peer is deprecated, use Excon.defaults[:ssl_verify_peer] instead (#{caller.first})")
  self.defaults[:ssl_verify_peer] = new_ssl_verify_peer
end
stub(request_params, response_params = nil) click to toggle source

push an additional stub onto the list to check for mock requests

@param [Hash<Symbol, >] request params to match against, omitted params match all
@param [Hash<Symbol, >] response params to return from matched request or block to call with params
# File lib/excon.rb, line 105
def stub(request_params, response_params = nil)
  if url = request_params.delete(:url)
    uri = URI.parse(url)
    request_params.update(
      :host              => uri.host,
      :path              => uri.path,
      :port              => uri.port.to_s,
      :query             => uri.query,
      :scheme            => uri.scheme
    )
    if uri.user || uri.password
      request_params[:headers] ||= {}
      request_params[:headers]['Authorization'] ||= 'Basic ' << ['' << uri.user.to_s << ':' << uri.password.to_s].pack('m').delete(Excon::CR_NL)
    end
  end
  if block_given?
    if response_params
      raise(ArgumentError.new("stub requires either response_params OR a block"))
    else
      stub = [request_params, Proc.new]
    end
  elsif response_params
    stub = [request_params, response_params]
  else
    raise(ArgumentError.new("stub requires either response_params OR a block"))
  end
  stubs.unshift(stub)
  stub
end
stubs() click to toggle source

get a list of defined stubs

# File lib/excon.rb, line 136
def stubs
  @stubs ||= []
end