Parent

Typhoeus::Request

Attributes

method[RW]
params[RW]
body[RW]
headers[RW]
connect_timeout[RW]
timeout[RW]
user_agent[RW]
response[RW]
cache_timeout[RW]
follow_location[RW]
max_redirects[RW]
proxy[RW]
disable_ssl_peer_verification[RW]
ssl_cert[RW]
ssl_cert_type[RW]
ssl_key[RW]
ssl_key_type[RW]
ssl_key_password[RW]
ssl_cacert[RW]
ssl_capath[RW]
verbose[RW]
username[RW]
password[RW]
auth_method[RW]
url[R]

Public Class Methods

delete(url, params = {}) click to toggle source
     # File lib/typhoeus/request.rb, line 159
159:     def self.delete(url, params = {})
160:       run(url, params.merge(:method => :delete))
161:     end
get(url, params = {}) click to toggle source
     # File lib/typhoeus/request.rb, line 147
147:     def self.get(url, params = {})
148:       run(url, params.merge(:method => :get))
149:     end
head(url, params = {}) click to toggle source
     # File lib/typhoeus/request.rb, line 163
163:     def self.head(url, params = {})
164:       run(url, params.merge(:method => :head))
165:     end
new(url, options = {}) click to toggle source

Initialize a new Request

Options:

  • url : Endpoint (URL) of the request

  • options : A hash containing options among :

** :method : :get (default) / :post / :put ** :params : params as a Hash ** :body ** :timeout : timeout (ms) ** :connect_timeout : connect timeout (ms) ** :headers : headers as Hash ** :user_agent : user agent (string) ** :cache_timeout : cache timeout (ms) ** +:follow_location ** +:max_redirects ** +:proxy ** +:disable_ssl_peer_verification ** +:ssl_cert ** +:ssl_cert_type ** +:ssl_key ** +:ssl_key_type ** +:ssl_key_password ** +:ssl_cacert ** +:ssl_capath ** +:verbose ** +:username ** +:password ** +:auth_method

    # File lib/typhoeus/request.rb, line 37
37:     def initialize(url, options = {})
38:       @method           = options[:method] || :get
39:       @params           = options[:params]
40:       @body             = options[:body]
41:       @timeout          = options[:timeout]
42:       @connect_timeout  = options[:connect_timeout]
43:       @headers          = options[:headers] || {}
44:       @user_agent       = options[:user_agent] || Typhoeus::USER_AGENT
45:       @cache_timeout    = options[:cache_timeout]
46:       @follow_location  = options[:follow_location]
47:       @max_redirects    = options[:max_redirects]
48:       @proxy            = options[:proxy]
49:       @disable_ssl_peer_verification = options[:disable_ssl_peer_verification]
50:       @ssl_cert         = options[:ssl_cert]
51:       @ssl_cert_type    = options[:ssl_cert_type]
52:       @ssl_key          = options[:ssl_key]
53:       @ssl_key_type     = options[:ssl_key_type]
54:       @ssl_key_password = options[:ssl_key_password]
55:       @ssl_cacert       = options[:ssl_cacert]
56:       @ssl_capath       = options[:ssl_capath]
57:       @verbose          = options[:verbose]
58:       @username         = options[:username]
59:       @password         = options[:password]
60:       @auth_method      = options[:auth_method]
61: 
62:       if @method == :post
63:         @url = url
64:       else
65:         @url = @params ? "#{url}?#{params_string}" : url
66:       end
67:       @on_complete      = nil
68:       @after_complete   = nil
69:       @handled_response = nil
70:     end
post(url, params = {}) click to toggle source
     # File lib/typhoeus/request.rb, line 151
151:     def self.post(url, params = {})
152:       run(url, params.merge(:method => :post))
153:     end
put(url, params = {}) click to toggle source
     # File lib/typhoeus/request.rb, line 155
155:     def self.put(url, params = {})
156:       run(url, params.merge(:method => :put))
157:     end
run(url, params) click to toggle source
     # File lib/typhoeus/request.rb, line 140
140:     def self.run(url, params)
141:       r = new(url, params)
142:       Typhoeus::Hydra.hydra.queue r
143:       Typhoeus::Hydra.hydra.run
144:       r.response
145:     end

Public Instance Methods

after_complete(&block) click to toggle source
     # File lib/typhoeus/request.rb, line 109
109:     def after_complete(&block)
110:       @after_complete = block
111:     end
after_complete=(proc) click to toggle source
     # File lib/typhoeus/request.rb, line 113
113:     def after_complete=(proc)
114:       @after_complete = proc
115:     end
cache_key() click to toggle source
     # File lib/typhoeus/request.rb, line 136
136:     def cache_key
137:       Digest::SHA1.hexdigest(url)
138:     end
call_after_complete() click to toggle source
     # File lib/typhoeus/request.rb, line 124
124:     def call_after_complete
125:        @after_complete.call(@handled_response) if @after_complete
126:     end
call_handlers() click to toggle source
     # File lib/typhoeus/request.rb, line 117
117:     def call_handlers
118:       if @on_complete
119:         @handled_response = @on_complete.call(response)
120:         call_after_complete
121:       end
122:     end
handled_response() click to toggle source
     # File lib/typhoeus/request.rb, line 132
132:     def handled_response
133:       @handled_response || response
134:     end
handled_response=(val) click to toggle source
     # File lib/typhoeus/request.rb, line 128
128:     def handled_response=(val)
129:       @handled_response = val
130:     end
headers() click to toggle source
    # File lib/typhoeus/request.rb, line 82
82:     def headers
83:       @headers["User-Agent"] = @user_agent
84:       @headers
85:     end
host() click to toggle source
    # File lib/typhoeus/request.rb, line 72
72:     def host
73:       slash_location = @url.index('/', 8)
74:       if slash_location
75:         @url.slice(0, slash_location)
76:       else
77:         query_string_location = @url.index('?')
78:         return query_string_location ? @url.slice(0, query_string_location) : @url
79:       end
80:     end
on_complete(&block) click to toggle source
     # File lib/typhoeus/request.rb, line 101
101:     def on_complete(&block)
102:       @on_complete = block
103:     end
on_complete=(proc) click to toggle source
     # File lib/typhoeus/request.rb, line 105
105:     def on_complete=(proc)
106:       @on_complete = proc
107:     end
params_string() click to toggle source
    # File lib/typhoeus/request.rb, line 87
87:     def params_string
88:       params.keys.sort { |a, b| a.to_s <=> b.to_s }.collect do |k|
89:         value = params[k]
90:         if value.is_a? Hash
91:           value.keys.collect {|sk| Rack::Utils.escape("#{k}[#{sk}]") + "=" + Rack::Utils.escape(value[sk].to_s)}
92:         elsif value.is_a? Array
93:           key = Rack::Utils.escape(k.to_s)
94:           value.collect { |v| "#{key}=#{Rack::Utils.escape(v.to_s)}" }.join('&')
95:         else
96:           "#{Rack::Utils.escape(k.to_s)}=#{Rack::Utils.escape(params[k].to_s)}"
97:         end
98:       end.flatten.join("&")
99:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.