Files
codeocean/config/initializers/sentry_csp.rb
2022-09-06 11:20:57 +02:00

41 lines
831 B
Ruby

# frozen_string_literal: true
require_relative 'sentry'
class SentryCsp
def self.active?
dsn.present? && %w[development test].exclude?(environment)
end
def self.report_url
parsed_url = URI.parse dsn
# Add additional variables to the query string
query_params = CGI.parse(parsed_url.query || '')
query_params[:sentry_release] = release if release
query_params[:sentry_environment] = environment if environment
# Add the query string back to the URL
parsed_url.query = URI.encode_www_form(query_params)
# Return the full URL
parsed_url.to_s
end
class << self
private
def dsn
ENV.fetch('SENTRY_CSP_REPORT_URL', nil)
end
def release
Sentry.configuration.release
end
def environment
Sentry.configuration.environment
end
end
end