Skip to Content Skip to Search

class ActionDispatch::PermissionsPolicy

Action Dispatch PermissionsPolicy

Configures the HTTP Feature-Policy response header to specify which browser features the current document and its iframes can use.

Example global policy:

Rails.application.config.permissions_policy do |policy|
  policy.camera      :none
  policy.gyroscope   :none
  policy.microphone  :none
  policy.usb         :none
  policy.fullscreen  :self
  policy.payment     :self, "https://secure.example.com"
end

The Feature-Policy header has been renamed to Permissions-Policy. The Permissions-Policy requires a different implementation and isn’t yet supported by all browsers. To avoid having to rename this middleware in the future we use the new name for the middleware but keep the old header name and implementation for now.

Attributes

[R] directives

Public class methods

Source code GitHub
# File actionpack/lib/action_dispatch/http/permissions_policy.rb, line 113
def initialize
  @directives = {}
  yield self if block_given?
end

Public instance methods

Source code GitHub
# File actionpack/lib/action_dispatch/http/permissions_policy.rb, line 132
def build(context = nil)
  build_directives(context).compact.join("; ")
end
Source code GitHub
# File actionpack/lib/action_dispatch/http/permissions_policy.rb, line 118
def initialize_copy(other)
  @directives = other.directives.deep_dup
end

Namespace

Definition files