Class: ActionDispatch::PermissionsPolicy::Middleware
- Inherits:
-
Object
- Object
- ActionDispatch::PermissionsPolicy::Middleware
- Defined in:
- lib/action_dispatch/http/permissions_policy.rb
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app) ⇒ Middleware
constructor
A new instance of Middleware.
Constructor Details
#initialize(app) ⇒ Middleware
Returns a new instance of Middleware.
31 32 33 |
# File 'lib/action_dispatch/http/permissions_policy.rb', line 31 def initialize(app) @app = app end |
Instance Method Details
#call(env) ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/action_dispatch/http/permissions_policy.rb', line 35 def call(env) _, headers, _ = response = @app.call(env) return response unless html_response?(headers) return response if policy_present?(headers) request = ActionDispatch::Request.new(env) if policy = request. headers[ActionDispatch::Constants::FEATURE_POLICY] = policy.build(request.controller_instance) end if policy_empty?(policy) headers.delete(ActionDispatch::Constants::FEATURE_POLICY) end response end |