Typhoeus cache class

This commit is contained in:
erwanlr
2013-02-21 12:41:43 +01:00
parent 4f3225c56a
commit b8ee3f84a0
5 changed files with 45 additions and 10 deletions

View File

@@ -17,6 +17,8 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#++
require 'common/typhoeus_cache'
class Browser
@@instance = nil
USER_AGENT_MODES = %w{ static semi-static random }
@@ -51,12 +53,12 @@ class Browser
#connecttimeout: @request_timeout
)
# TODO : add an option for the cache dir instead of using a constant
@cache = CacheFileStore.new(CACHE_DIR + '/browser')
# TODO : add an argument for the cache dir instead of using a constant
@cache = TyphoeusCache.new(CACHE_DIR + '/browser')
@cache.clean
#Typhoeus::Config.cache = @cache
Typhoeus::Config.cache = @cache
end
private_class_method :new
@@ -199,15 +201,15 @@ class Browser
end
if !params.has_key?(:headers)
params = params.merge(:headers => {'user-agent' => self.user_agent})
params = params.merge(:headers => {'ser-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
#unless params.has_key?(:cache_ttl)
# params = params.merge(cache_ttl: @cache_timeout)
#end
unless params.has_key?(:cache_ttl)
params = params.merge(cache_ttl: @cache_timeout)
end
params
end