diff --git a/app/controllers/projects/builds_controller.rb b/app/controllers/projects/builds_controller.rb index c45e9809a83..286950d388e 100644 --- a/app/controllers/projects/builds_controller.rb +++ b/app/controllers/projects/builds_controller.rb @@ -1,7 +1,7 @@ class Projects::BuildsController < Projects::ApplicationController before_action :build, except: [:index, :cancel_all] before_action :authorize_read_build!, except: [:cancel, :cancel_all, :retry] - before_action :authorize_update_build!, except: [:index, :show, :status, :raw_trace] + before_action :authorize_update_build!, except: [:index, :show, :status, :raw] layout 'project' def index @@ -63,11 +63,14 @@ class Projects::BuildsController < Projects::ApplicationController end def raw + response.headers['Content-Typei'] = 'text/plain' if @build.has_trace? - render json: { trace_file: @build.path_to_trace } + response.headers['X-Sendfile'] = @build.path_to_trace else - render json: {}, status: 404 + response.status = 404 end + + render nothing: true end private diff --git a/config/routes.rb b/config/routes.rb index bc48728470f..79b62a0b1bb 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -669,7 +669,7 @@ Rails.application.routes.draw do post :cancel post :retry post :erase - get :raw, format: false + get :raw end resource :artifacts, only: [] do