diff --git a/waiter/lib/travis/web/app.rb b/waiter/lib/travis/web/app.rb index 1622b4d4..4faa5d2d 100644 --- a/waiter/lib/travis/web/app.rb +++ b/waiter/lib/travis/web/app.rb @@ -5,6 +5,7 @@ require 'delegate' require 'time' require 'json' require 'travis/utils/deep_merge' +require 'redis' class Travis::Web::App autoload :AltVersions, 'travis/web/app/alt_versions' @@ -82,7 +83,7 @@ class Travis::Web::App end def response_for(file, options = {}) - content = File.read(file) + content = content_for(file) if fingerprinted?(file) headers = { 'Content-Length' => content.bytesize.to_s, @@ -111,6 +112,17 @@ class Travis::Web::App [ 200, headers, [content] ] end + def content_for(file) + if index?(file) + redis = Redis.new + project = 'travis' + index_key = redis.get("#{project}:index:current") + redis.get("#{project}:index:#{index_key}") + else + content = File.read(file) + end + end + def each_file Dir.glob(File.join(root, '**/*')) { |file| yield file if File.file?(file) } end