Module: HTTParty::ClassMethods

### Home Classes Methods

### In Files

- lib/httparty.rb

### Methods

- #base_uri
- #basic_auth
- #cookies
- #debug_output
- #default_params
- #default_timeout
- #delete
- #digest_auth
- #format
- #get
- #head
- #headers
- #http_proxy
- #maintain_method_across_redirects
- #no_follow
- #options
- #parser
- #pem
- #post
- #put

### Files

- README.rdoc

### Class/Module Index

Quicksearch

- HTTParty
- HTTParty::AllowedFormatsDeprecation
- HTTParty::ClassMethods
- HTTParty::Parser
- HTTParty::RedirectionTooDeep
- HTTParty::Response
- HTTParty::Response::Headers
- HTTParty::ResponseError
- HTTParty::UnsupportedFormat
- HTTParty::UnsupportedURIScheme
- Net
- Net::HTTPHeader

No matching classes.

# 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.