In Files

Files

HTTParty::ClassMethods

Public Instance Methods

base_uri(uri=nil) click to toggle source

Allows setting a base uri to be used for each request. Will normalize uri to include http, etc.

class Foo
  include HTTParty
  base_uri 'twitter.com'
end
# File lib/httparty.rb, line 61
def base_uri(uri=nil)
  return default_options[:base_uri] unless uri
  default_options[:base_uri] = HTTParty.normalize_base_uri(uri)
end
basic_auth(u, p) click to toggle source

Allows setting basic authentication username and password.

class Foo
  include HTTParty
  basic_auth 'username', 'password'
end
# File lib/httparty.rb, line 72
def basic_auth(u, p)
  default_options[:basic_auth] = {:username => u, :password => p}
end
cookies(h={}) click to toggle source
# File lib/httparty.rb, line 134
def cookies(h={})
  raise ArgumentError, 'Cookies must be a hash' unless h.is_a?(Hash)
  default_cookies.add_cookies(h)
end
debug_output(stream = $stderr) click to toggle source

Set an output stream for debugging, defaults to $stderr. The output stream is passed on to Net::HTTP#set_debug_output.

class Foo
  include HTTParty
  debug_output $stderr
end
# File lib/httparty.rb, line 118
def debug_output(stream = $stderr)
  default_options[:debug_output] = stream
end
default_params(h={}) click to toggle source

Allows setting default parameters to be appended to each request. Great for api keys and such.

class Foo
  include HTTParty
  default_params :api_key => 'secret', :another => 'foo'
end
# File lib/httparty.rb, line 93
def default_params(h={})
  raise ArgumentError, 'Default params must be a hash' unless h.is_a?(Hash)
  default_options[:default_params] ||= {}
  default_options[:default_params].merge!(h)
end
default_timeout(t) click to toggle source

Allows setting a default timeout for all HTTP calls Timeout is specified in seconds.

class Foo
  include HTTParty
  default_timeout 10
end
# File lib/httparty.rb, line 106
def default_timeout(t)
  raise ArgumentError, 'Timeout must be an integer' unless t && t.is_a?(Integer)
  default_options[:timeout] = t
end
delete(path, options={}) click to toggle source

Perform a DELETE request to a path

# File lib/httparty.rb, line 257
def delete(path, options={})
  perform_request Net::HTTP::Delete, path, options
end
digest_auth(u, p) click to toggle source

Allows setting digest authentication username and password.

class Foo
  include HTTParty
  digest_auth 'username', 'password'
end
# File lib/httparty.rb, line 82
def digest_auth(u, p)
  default_options[:digest_auth] = {:username => u, :password => p}
end
format(f = nil) click to toggle source

Allows setting the format with which to parse. Must be one of the allowed formats ie: json, xml

class Foo
  include HTTParty
  format :json
end
# File lib/httparty.rb, line 146
def format(f = nil)
  if f.nil?
    default_options[:format]
  else
    parser(Parser) if parser.nil?
    default_options[:format] = f
    validate_format
  end
end
get(path, options={}) click to toggle source

Allows making a get request to a url.

class Foo
  include HTTParty
end

# Simple get with full url
Foo.get('http://foo.com/resource.json')

# Simple get with full url and query parameters
# ie: http://foo.com/resource.json?limit=10
Foo.get('http://foo.com/resource.json', :query => {:limit => 10})
# File lib/httparty.rb, line 231
def get(path, options={})
  perform_request Net::HTTP::Get, path, options
end
head(path, options={}) click to toggle source

Perform a HEAD request to a path

# File lib/httparty.rb, line 262
def head(path, options={})
  perform_request Net::HTTP::Head, path, options
end
headers(h={}) click to toggle source

Allows setting HTTP headers to be used for each request.

class Foo
  include HTTParty
  headers 'Accept' => 'text/html'
end
# File lib/httparty.rb, line 128
def headers(h={})
  raise ArgumentError, 'Headers must be a hash' unless h.is_a?(Hash)
  default_options[:headers] ||= {}
  default_options[:headers].merge!(h)
end
http_proxy(addr=nil, port = nil) click to toggle source

Allows setting http proxy information to be used

class Foo
  include HTTParty
  http_proxy 'http://foo.com', 80
end
# File lib/httparty.rb, line 49
def http_proxy(addr=nil, port = nil)
  default_options[:http_proxyaddr] = addr
  default_options[:http_proxyport] = port
end
maintain_method_across_redirects(value = true) click to toggle source

Declare that you wish to maintain the chosen HTTP method across redirects. The default behavior is to follow redirects via the GET method. If you wish to maintain the original method, you can set this option to true.

@example

class Foo
  include HTTParty
  base_uri 'http://google.com'
  maintain_method_across_redirects true
end
# File lib/httparty.rb, line 190
def maintain_method_across_redirects(value = true)
  default_options[:maintain_method_across_redirects] = value
end
no_follow(value = false) click to toggle source

Declare whether or not to follow redirects. When true, an {HTTParty::RedirectionTooDeep} error will raise upon encountering a redirect. You can then gain access to the response object via HTTParty::RedirectionTooDeep#response.

@see HTTParty::ResponseError#response

@example

class Foo
  include HTTParty
  base_uri 'http://google.com'
  no_follow true
end

begin
  Foo.get('/')
rescue HTTParty::RedirectionTooDeep => e
  puts e.response.body
end
# File lib/httparty.rb, line 175
def no_follow(value = false)
  default_options[:no_follow] = value
end
options(path, options={}) click to toggle source

Perform an OPTIONS request to a path

# File lib/httparty.rb, line 267
def options(path, options={})
  perform_request Net::HTTP::Options, path, options
end
parser(custom_parser = nil) click to toggle source

Allows setting a custom parser for the response.

class Foo
  include HTTParty
  parser Proc.new {|data| ...}
end
# File lib/httparty.rb, line 210
def parser(custom_parser = nil)
  if custom_parser.nil?
    default_options[:parser]
  else
    default_options[:parser] = custom_parser
    validate_format
  end
end
pem(pem_contents) click to toggle source

Allows setting a PEM file to be used

class Foo
  include HTTParty
  pem File.read('/home/user/my.pem')
end
# File lib/httparty.rb, line 200
def pem(pem_contents)
  default_options[:pem] = pem_contents
end
post(path, options={}) click to toggle source

Allows making a post request to a url.

class Foo
  include HTTParty
end

# Simple post with full url and setting the body
Foo.post('http://foo.com/resources', :body => {:bar => 'baz'})

# Simple post with full url using :query option,
# which gets set as form data on the request.
Foo.post('http://foo.com/resources', :query => {:bar => 'baz'})
# File lib/httparty.rb, line 247
def post(path, options={})
  perform_request Net::HTTP::Post, path, options
end
put(path, options={}) click to toggle source

Perform a PUT request to a path

# File lib/httparty.rb, line 252
def put(path, options={})
  perform_request Net::HTTP::Put, path, options
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.