@@ -27,6 +27,18 @@ module SecureHeaders
2727 SecureHeaders ::XXssProtection
2828 ]
2929
30+ ALL_FILTER_METHODS = [
31+ :prep_script_hash ,
32+ :set_hsts_header ,
33+ :set_hpkp_header ,
34+ :set_x_frame_options_header ,
35+ :set_csp_header ,
36+ :set_x_xss_protection_header ,
37+ :set_x_content_type_options_header ,
38+ :set_x_download_options_header ,
39+ :set_x_permitted_cross_domain_policies_header
40+ ]
41+
3042 module Configuration
3143 class << self
3244 attr_accessor :hsts , :x_frame_options , :x_content_type_options ,
@@ -97,15 +109,10 @@ def ensure_security_headers options = {}
97109 warn "[DEPRECATION] secure_headers ruby 1.8.7 support will dropped in the next release"
98110 end
99111 self . secure_headers_options = options
100- before_filter :prep_script_hash
101- before_filter :set_hsts_header
102- before_filter :set_hpkp_header
103- before_filter :set_x_frame_options_header
104- before_filter :set_csp_header
105- before_filter :set_x_xss_protection_header
106- before_filter :set_x_content_type_options_header
107- before_filter :set_x_download_options_header
108- before_filter :set_x_permitted_cross_domain_policies_header
112+ hook = respond_to? ( :before_action ) ? :before_action : :before_filter
113+ ALL_FILTER_METHODS . each do |method |
114+ send ( hook , method )
115+ end
109116 end
110117 end
111118
0 commit comments