Module: HTTParty::ClassMethods
- Defined in:
- lib/httparty.rb
Instance Method Summary collapse
-
#base_uri(uri = nil) ⇒ Object
Allows setting a base uri to be used for each request.
-
#basic_auth(u, p) ⇒ Object
Allows setting basic authentication username and password.
- #cookies(h = {}) ⇒ Object
-
#default_options ⇒ Object
:nodoc:.
-
#default_params(h = {}) ⇒ Object
Allows setting default parameters to be appended to each request.
- #delete(path, options = {}) ⇒ Object
-
#format(f) ⇒ Object
Allows setting the format with which to parse.
-
#get(path, options = {}) ⇒ Object
Allows making a get request to a url.
-
#headers(h = {}) ⇒ Object
Allows setting a base uri to be used for each request.
-
#http_proxy(addr = nil, port = nil) ⇒ Object
Allows setting http proxy information to be used.
-
#parser(customer_parser) ⇒ Object
Allows setting a custom parser for the response.
-
#post(path, options = {}) ⇒ Object
Allows making a post request to a url.
- #put(path, options = {}) ⇒ Object
Instance Method Details
#base_uri(uri = nil) ⇒ Object
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
56 57 58 59 |
# File 'lib/httparty.rb', line 56 def base_uri(uri=nil) return [:base_uri] unless uri [:base_uri] = HTTParty.normalize_base_uri(uri) end |
#basic_auth(u, p) ⇒ Object
Allows setting basic authentication username and password.
class Foo
include HTTParty
basic_auth 'username', 'password'
end
67 68 69 |
# File 'lib/httparty.rb', line 67 def basic_auth(u, p) [:basic_auth] = {:username => u, :password => p} end |
#cookies(h = {}) ⇒ Object
96 97 98 99 |
# File 'lib/httparty.rb', line 96 def (h={}) raise ArgumentError, 'Cookies must be a hash' unless h.is_a?(Hash) .(h) end |
#default_options ⇒ Object
:nodoc:
163 164 165 |
# File 'lib/httparty.rb', line 163 def #:nodoc: @default_options end |
#default_params(h = {}) ⇒ Object
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
78 79 80 81 82 |
# File 'lib/httparty.rb', line 78 def default_params(h={}) raise ArgumentError, 'Default params must be a hash' unless h.is_a?(Hash) [:default_params] ||= {} [:default_params].merge!(h) end |
#delete(path, options = {}) ⇒ Object
159 160 161 |
# File 'lib/httparty.rb', line 159 def delete(path, ={}) perform_request Net::HTTP::Delete, path, end |
#format(f) ⇒ Object
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
108 109 110 111 |
# File 'lib/httparty.rb', line 108 def format(f) raise UnsupportedFormat, "Must be one of: #{AllowedFormats.values.map { |v| v.to_s }.uniq.sort.join(', ')}" unless AllowedFormats.value?(f) [:format] = f end |
#get(path, options = {}) ⇒ Object
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})
135 136 137 |
# File 'lib/httparty.rb', line 135 def get(path, ={}) perform_request Net::HTTP::Get, path, end |
#headers(h = {}) ⇒ Object
Allows setting a base uri to be used for each request.
class Foo
include HTTParty
headers 'Accept' => 'text/html'
end
90 91 92 93 94 |
# File 'lib/httparty.rb', line 90 def headers(h={}) raise ArgumentError, 'Headers must be a hash' unless h.is_a?(Hash) [:headers] ||= {} [:headers].merge!(h) end |
#http_proxy(addr = nil, port = nil) ⇒ Object
Allows setting http proxy information to be used
class Foo
include HTTParty
http_proxy 'http://foo.com', 80
end
44 45 46 47 |
# File 'lib/httparty.rb', line 44 def http_proxy(addr=nil, port = nil) [:http_proxyaddr] = addr [:http_proxyport] = port end |
#parser(customer_parser) ⇒ Object
Allows setting a custom parser for the response.
class Foo
include HTTParty
parser Proc.new {|data| ...}
end
119 120 121 |
# File 'lib/httparty.rb', line 119 def parser(customer_parser) [:parser] = customer_parser end |
#post(path, options = {}) ⇒ Object
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'})
151 152 153 |
# File 'lib/httparty.rb', line 151 def post(path, ={}) perform_request Net::HTTP::Post, path, end |
#put(path, options = {}) ⇒ Object
155 156 157 |
# File 'lib/httparty.rb', line 155 def put(path, ={}) perform_request Net::HTTP::Put, path, end |