4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'app/controllers/csp_reports_controller.rb', line 4
def create
report_base = JSON.parse(request.body.read)
if report_base.has_key? 'csp-report'
report = report_base['csp-report']
CspReport.create(
blocked_uri: report['blocked-uri'].try(:downcase),
disposition: report['disposition'].try(:downcase),
document_uri: report['document-uri'],
effective_directive: report['effective-directive'].try(:downcase),
violated_directive: report['violated-directive'].try(:downcase),
referrer: report['referrer'].try(:downcase),
status_code: (report['status-code'].presence || 0).to_i,
raw_report: report,
raw_browser: request.['User-Agent']
)
end
self.response_body = 'OK'
self.status = 200
end
|