Parent

Typhoeus::Request

This class represents a request.

@example (see initialize)

@example Make a request with the shortcut.

response = Typhoeus.get("www.example.com")

@see (see initialize)

Attributes

base_url[RW]

Returns the provided base url.

@return [ String ]

block_connection[RW]

@return [ Boolean ]

@api private

hydra[RW]

Returns the hydra in which the request ran, if any.

@return [ Typhoeus::Hydra ]

@api private

options[RW]

Returns options, which includes default parameters.

@return [ Hash ]

original_options[RW]

Returns the original options provided.

@return [ Hash ]

@api private

Public Class Methods

new(base_url, options = {}) click to toggle source

Creates a new request.

@example Simplest request.

response = Typhoeus::Request.new("www.example.com").run

@example Request with url parameters.

response = Typhoeus::Request.new(
  "www.example.com",
  params: {a: 1}
).run

@example Request with a body.

response = Typhoeus::Request.new(
  "www.example.com",
  body: {b: 2}
).run

@example Request with parameters and body.

response = Typhoeus::Request.new(
  "www.example.com",
  params: {a: 1},
  body: {b: 2}
).run

@example Create a request and allow follow redirections.

response = Typhoeus::Request.new(
  "www.example.com",
  followlocation: true
).run

@param [ String ] base_url The url to request. @param [ options ] options The options.

@option options [ Hash ] :params Translated

into url parameters.

@option options [ Hash ] :body Translated

into HTTP POST request body.

@return [ Typhoeus::Request ] The request.

@note See {rubydoc.info/github/typhoeus/ethon/Ethon/Easy/Options Ethon::Easy::Options} for more options.

@see Typhoeus::Hydra @see Typhoeus::Response @see Typhoeus::Request::Actions

# File lib/typhoeus/request.rb, line 112
def initialize(base_url, options = {})
  @base_url = base_url
  @original_options = options
  @options = options.dup

  set_defaults
end

Public Instance Methods

cache_key() click to toggle source

Returns a cache key for use with caching methods that required a string for a key. Will get used by ActiveSupport::Cache stores automatically.

@return [ String ] The cache key.

# File lib/typhoeus/request.rb, line 164
def cache_key
  "#{self.class.name}#{base_url}#{hashable_string_for(options)}"
end
encoded_body() click to toggle source

Mimics libcurls POST body generation. This is not accurate, but good enough for VCR.

@return [ String ] The encoded body.

otherwise.

@api private

# File lib/typhoeus/request.rb, line 175
def encoded_body
  Ethon::Easy::Form.new(nil, options[:body]).to_s
end
eql?(other) click to toggle source

Returns whether other is equal to self.

@example Are request equal?

request.eql?(other_request)

@param [ Object ] other The object to check.

@return [ Boolean ] Returns true if equal, else false.

@api private

# File lib/typhoeus/request.rb, line 145
def eql?(other)
  self.class == other.class &&
    self.base_url == other.base_url &&
    fuzzy_hash_eql?(self.options, other.options)
end
hash() click to toggle source

Overrides Object#hash.

@return [ Integer ] The integer representing the request.

@api private

# File lib/typhoeus/request.rb, line 156
def hash
  Zlib.crc32 cache_key
end
url() click to toggle source

Return the url. In contrast to base_url which returns the value you specified, url returns the full url including the parameters.

@example Get the url.

request.url

@since 0.5.5

# File lib/typhoeus/request.rb, line 128
def url
  easy = EasyFactory.new(self).get
  url = easy.url
  Typhoeus::Pool.release(easy)
  url
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.