Class: ContentSecurityPolicy

Inherits:
Object
  • Object
show all
Defined in:
lib/content_security_policy.rb,
lib/content_security_policy/builder.rb,
lib/content_security_policy/default.rb,
lib/content_security_policy/extension.rb,
lib/content_security_policy/middleware.rb

Defined Under Namespace

Modules: Extension Classes: Builder, Default, Middleware

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.policy(theme_id = nil, base_url: Discourse.base_url, path_info: "/") ⇒ Object



7
8
9
# File 'lib/content_security_policy.rb', line 7

def policy(theme_id = nil, base_url: Discourse.base_url, path_info: "/")
  new.build(theme_id, base_url: base_url, path_info: path_info)
end

Instance Method Details

#build(theme_id, base_url:, path_info: "/") ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/content_security_policy.rb', line 12

def build(theme_id, base_url:, path_info: "/")
  builder = Builder.new(base_url: base_url)

  Extension.theme_extensions(theme_id).each { |extension| builder << extension }
  Extension.plugin_extensions.each { |extension| builder << extension }
  builder << Extension.site_setting_extension
  builder << Extension.path_specific_extension(path_info)

  builder.build
end