lib/httparty.rb in jugend-httparty-0.5.2.3 vs lib/httparty.rb in jugend-httparty-0.5.3.4

- old
+ new

@@ -1,21 +1,19 @@ require 'pathname' require 'net/http' require 'net/https' require 'crack' -if Crack::VERSION != "0.1.6" - warn "warning: HTTParty depends on version 0.1.6 of crack, not #{Crack::VERSION}." -end +dir = Pathname.new(__FILE__).dirname.expand_path -dir = Pathname(__FILE__).dirname.expand_path - require dir + 'httparty/module_inheritable_attributes' require dir + 'httparty/cookie_hash' +require dir + 'httparty/net_digest_auth' module HTTParty VERSION = "0.5.2".freeze + CRACK_DEPENDENCY = "0.1.7".freeze module AllowedFormatsDeprecation def const_missing(const) if const.to_s =~ /AllowedFormats$/ Kernel.warn("Deprecated: Use HTTParty::Parser::SupportedFormats") @@ -71,10 +69,20 @@ # end def basic_auth(u, p) default_options[:basic_auth] = {:username => u, :password => p} end + # Allows setting digest authentication username and password. + # + # class Foo + # include HTTParty + # digest_auth 'username', 'password' + # end + def digest_auth(u, p) + default_options[:digest_auth] = {:username => u, :password => p} + end + # Allows setting default parameters to be appended to each request. # Great for api keys and such. # # class Foo # include HTTParty @@ -84,10 +92,22 @@ raise ArgumentError, 'Default params must be a hash' unless h.is_a?(Hash) default_options[:default_params] ||= {} default_options[:default_params].merge!(h) end + # Allows setting a default timeout for all HTTP calls + # Timeout is specified in seconds. + # + # class Foo + # include HTTParty + # default_timeout 10 + # end + def default_timeout(t) + raise ArgumentError, 'Timeout must be an integer' unless t && t.is_a?(Integer) + default_options[:timeout] = t + end + # 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 @@ -95,11 +115,11 @@ # end def debug_output(stream = $stderr) default_options[:debug_output] = stream end - # Allows setting a base uri to be used for each request. + # Allows setting HTTP headers to be used for each request. # # class Foo # include HTTParty # headers 'Accept' => 'text/html' # end @@ -152,10 +172,25 @@ # end def no_follow(value = false) default_options[:no_follow] = value end + # 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 + + def maintain_method_across_redirects(value = true) + default_options[:maintain_method_across_redirects] = value + end + # Allows setting a PEM file to be used # # class Foo # include HTTParty # pem File.read('/home/user/my.pem') @@ -300,5 +335,9 @@ require dir + 'httparty/core_extensions' require dir + 'httparty/exceptions' require dir + 'httparty/parser' require dir + 'httparty/request' require dir + 'httparty/response' + +if Crack::VERSION != HTTParty::CRACK_DEPENDENCY + warn "warning: HTTParty depends on version #{HTTParty::CRACK_DEPENDENCY} of crack, not #{Crack::VERSION}." +end