Skip to content

Commit 927ecd8

Browse files
committed
Merge pull request #188 from twitter/user-agent-parser
Cache UserAgentParser instance
2 parents 7a42710 + 48b048c commit 927ecd8

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

lib/secure_headers/headers/content_security_policy.rb

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ module Constants
1111
DEFAULT_CSP_HEADER = "default-src https: data: 'unsafe-inline' 'unsafe-eval'; frame-src https: about: javascript:; img-src data:"
1212
HEADER_NAME = "Content-Security-Policy"
1313
ENV_KEY = 'secure_headers.content_security_policy'
14+
USER_AGENT_PARSER = UserAgentParser::Parser.new
1415

1516
DIRECTIVES_1_0 = [
1617
:default_src,
@@ -304,7 +305,7 @@ def strip_unsupported_directives
304305
end
305306

306307
def supported_directives
307-
@supported_directives ||= case UserAgentParser.parse(@ua).family
308+
@supported_directives ||= case USER_AGENT_PARSER.parse(@ua).family
308309
when "Chrome"
309310
CHROME_DIRECTIVES
310311
when "Safari"
@@ -317,7 +318,7 @@ def supported_directives
317318
end
318319

319320
def supports_nonces?
320-
parsed_ua = UserAgentParser.parse(@ua)
321+
parsed_ua = USER_AGENT_PARSER.parse(@ua)
321322
["Chrome", "Opera", "Firefox"].include?(parsed_ua.family)
322323
end
323324
end

0 commit comments

Comments
 (0)