diff options
Diffstat (limited to 'app/controllers/projects/merge_requests/diffs_controller.rb')
-rw-r--r-- | app/controllers/projects/merge_requests/diffs_controller.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/app/controllers/projects/merge_requests/diffs_controller.rb b/app/controllers/projects/merge_requests/diffs_controller.rb index 1c546d70df9..6ca885cee4c 100644 --- a/app/controllers/projects/merge_requests/diffs_controller.rb +++ b/app/controllers/projects/merge_requests/diffs_controller.rb @@ -61,6 +61,8 @@ class Projects::MergeRequests::DiffsController < Projects::MergeRequests::Applic options[:merge_ref_head_diff] ] + expires_in(1.day) if cache_with_max_age? + return unless stale?(etag: [cache_context + diff_options_hash.fetch(:paths, []), diffs]) Gitlab::Metrics.measure(:diffs_unfold) do @@ -238,4 +240,10 @@ class Projects::MergeRequests::DiffsController < Projects::MergeRequests::Applic Gitlab::UsageDataCounters::MergeRequestActivityUniqueCounter .track_mr_diffs_single_file_action(merge_request: @merge_request, user: current_user) end + + def cache_with_max_age? + @merge_request.diffs_batch_cache_with_max_age? && + params[:ck].present? && + render_merge_ref_head_diff? + end end |