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
61:     def base_uri(uri=nil)
62:       return default_options[:base_uri] unless uri
63:       default_options[:base_uri] = HTTParty.normalize_base_uri(uri)
64:     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
72:     def basic_auth(u, p)
73:       default_options[:basic_auth] = {:username => u, :password => p}
74:     end
cookies(h={}) click to toggle source
     # File lib/httparty.rb, line 134
134:     def cookies(h={})
135:       raise ArgumentError, 'Cookies must be a hash' unless h.is_a?(Hash)
136:       default_cookies.add_cookies(h)
137:     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
118:     def debug_output(stream = $stderr)
119:       default_options[:debug_output] = stream
120:     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
93:     def default_params(h={})
94:       raise ArgumentError, 'Default params must be a hash' unless h.is_a?(Hash)
95:       default_options[:default_params] ||= {}
96:       default_options[:default_params].merge!(h)
97:     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
106:     def default_timeout(t)
107:       raise ArgumentError, 'Timeout must be an integer' unless t && t.is_a?(Integer)
108:       default_options[:timeout] = t
109:     end
delete(path, options={}) click to toggle source

Perform a DELETE request to a path

     # File lib/httparty.rb, line 257
257:     def delete(path, options={})
258:       perform_request Net::HTTP::Delete, path, options
259:     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
82:     def digest_auth(u, p)
83:       default_options[:digest_auth] = {:username => u, :password => p}
84:     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
146:     def format(f = nil)
147:       if f.nil?
148:         default_options[:format]
149:       else
150:         parser(Parser) if parser.nil?
151:         default_options[:format] = f
152:         validate_format
153:       end
154:     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
231:     def get(path, options={})
232:       perform_request Net::HTTP::Get, path, options
233:     end
head(path, options={}) click to toggle source

Perform a HEAD request to a path

     # File lib/httparty.rb, line 262
262:     def head(path, options={})
263:       perform_request Net::HTTP::Head, path, options
264:     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
128:     def headers(h={})
129:       raise ArgumentError, 'Headers must be a hash' unless h.is_a?(Hash)
130:       default_options[:headers] ||= {}
131:       default_options[:headers].merge!(h)
132:     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
49:     def http_proxy(addr=nil, port = nil)
50:       default_options[:http_proxyaddr] = addr
51:       default_options[:http_proxyport] = port
52:     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
190:     def maintain_method_across_redirects(value = true)
191:       default_options[:maintain_method_across_redirects] = value
192:     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
175:     def no_follow(value = false)
176:       default_options[:no_follow] = value
177:     end
options(path, options={}) click to toggle source

Perform an OPTIONS request to a path

     # File lib/httparty.rb, line 267
267:     def options(path, options={})
268:       perform_request Net::HTTP::Options, path, options
269:     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
210:     def parser(custom_parser = nil)
211:       if custom_parser.nil?
212:         default_options[:parser]
213:       else
214:         default_options[:parser] = custom_parser
215:         validate_format
216:       end
217:     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
200:     def pem(pem_contents)
201:       default_options[:pem] = pem_contents
202:     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
247:     def post(path, options={})
248:       perform_request Net::HTTP::Post, path, options
249:     end
put(path, options={}) click to toggle source

Perform a PUT request to a path

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

Private Instance Methods

validate_format() click to toggle source
     # File lib/httparty.rb, line 289
289:       def validate_format
290:         if format && parser.respond_to?(:supports_format?) && !parser.supports_format?(format)
291:           raise UnsupportedFormat, "'#{format.inspect}' Must be one of: #{parser.supported_formats.map{|f| f.to_s}.sort.join(', ')}"
292:         end
293:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.