29 lines
		
	
	
		
			580 B
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			580 B
		
	
	
	
		
			Ruby
		
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
module Projects
 | 
						|
  class TracingsController < Projects::ApplicationController
 | 
						|
    content_security_policy do |p|
 | 
						|
      next if p.directives.blank?
 | 
						|
 | 
						|
      global_frame_src = p.frame_src
 | 
						|
 | 
						|
      p.frame_src -> { frame_src_csp_policy(global_frame_src) }
 | 
						|
    end
 | 
						|
 | 
						|
    before_action :authorize_update_environment!
 | 
						|
 | 
						|
    feature_category :tracing
 | 
						|
 | 
						|
    def show
 | 
						|
    end
 | 
						|
 | 
						|
    private
 | 
						|
 | 
						|
    def frame_src_csp_policy(global_frame_src)
 | 
						|
      external_url = @project&.tracing_setting&.external_url
 | 
						|
 | 
						|
      external_url.presence || global_frame_src
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |