# File lib/browser.rb, line 141 def forge_request(url, params = {}) Typhoeus::Request.new( replace_variables_in_url(url), merge_request_params(params) ) end
# File lib/browser.rb, line 129 def get(url, params = {}) run_request( forge_request(url, params.merge(:method => :get)) ) end
TODO reload hydra (if the .load_config is called on a browser object, hydra will not have the new @max_threads and @request_timeout)
# File lib/browser.rb, line 102 def load_config(config_file = nil) @config_file = config_file || @config_file data = JSON.parse(File.read(@config_file)) ACCESSOR_OPTIONS.each do |option| option_name = option.to_s self.send(:"#{option_name}=", data[option_name]) end end
# File lib/browser.rb, line 94 def max_threads=(max_threads) if max_threads.nil? or max_threads <= 0 max_threads = 1 end @max_threads = max_threads end
# File lib/browser.rb, line 159 def merge_request_params(params = {}) if @proxy params = params.merge(:proxy => @proxy) end if !params.has_key?(:disable_ssl_host_verification) params = params.merge(:disable_ssl_host_verification => true) end if !params.has_key?(:disable_ssl_peer_verification) params = params.merge(:disable_ssl_peer_verification => true) end if !params.has_key?(:headers) params = params.merge(:headers => {'user-agent' => self.user_agent}) elsif !params[:headers].has_key?('user-agent') params[:headers]['user-agent'] = self.user_agent end # Used to enable the cache system if :cache_timeout > 0 if !params.has_key?(:cache_timeout) params = params.merge(:cache_timeout => @cache_timeout) end params end
# File lib/browser.rb, line 135 def post(url, params = {}) run_request( forge_request(url, params.merge(:method => :post)) ) end
return the user agent, according to the user_agent_mode
# File lib/browser.rb, line 82 def user_agent case @user_agent_mode when "semi-static" unless @user_agent @user_agent = @available_user_agents.sample end when "random" @user_agent = @available_user_agents.sample end @user_agent end
# File lib/browser.rb, line 69 def user_agent_mode=(ua_mode) ua_mode ||= "static" if @@user_agent_modes.include?(ua_mode) @user_agent_mode = ua_mode # For semi-static user agent mode, the user agent has to be nil the first time (it will be set with the getter) @user_agent = nil if ua_mode === "semi-static" else raise "Unknow user agent mode : '#{ua_mode}'" end end
Generated with the Darkfish Rdoc Generator 2.