class Typhoeus::Request
def after_complete(&block)
def after_complete(&block) @after_complete = block end
def after_complete=(proc)
def after_complete=(proc) @after_complete = proc end
def cache_key
def cache_key Digest::SHA1.hexdigest(url) end
def call_after_complete
def call_after_complete @after_complete.call(@handled_response) if @after_complete end
def call_handlers
def call_handlers if @on_complete @handled_response = @on_complete.call(response) call_after_complete end end
def handled_response
def handled_response @handled_response || response end
def handled_response=(val)
def handled_response=(val) @handled_response = val end
def headers
def headers @headers["User-Agent"] = @user_agent @headers end
def host
def host slash_location = @url.index('/', 8) if slash_location @url.slice(0, slash_location) else query_string_location = @url.index('?') return query_string_location ? @url.slice(0, query_string_location) : @url end end
def initialize(url, options = {})
def initialize(url, options = {}) @method = options[:method] || :get @params = options[:params] @body = options[:body] @timeout = options[:timeout] @headers = options[:headers] || {} @user_agent = options[:user_agent] || Typhoeus::USER_AGENT @cache_timeout = options[:cache_timeout] @url = @params ? "#{url}?#{params_string}" : url @on_complete = nil @after_complete = nil @handled_response = nil end
def on_complete(&block)
def on_complete(&block) @on_complete = block end
def on_complete=(proc)
def on_complete=(proc) @on_complete = proc end
def params_string
def params_string params.keys.sort.collect do |k| value = params[k] if value.is_a? Hash value.keys.collect {|sk| Rack::Utils.escape("#{k}[#{sk}]") + "=" + Rack::Utils.escape(value[sk].to_s)} elsif value.is_a? Array key = Rack::Utils.escape(k.to_s) value.collect { |v| "#{key}=#{Rack::Utils.escape(v.to_s)}" }.join('&') else "#{Rack::Utils.escape(k.to_s)}=#{Rack::Utils.escape(params[k].to_s)}" end end.flatten.join("&") end