Module: Rodauth::Rails::App::Middleware
- Defined in:
- lib/rodauth/rails/app/middleware.rb
Overview
Roda plugin that extends middleware plugin by propagating response headers.
Class Method Summary collapse
Class Method Details
.configure(app) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/rodauth/rails/app/middleware.rb', line 6 def self.configure(app) handle_result = -> (env, res) do if headers = env.delete("rodauth.rails.headers") res[1] = headers.merge(res[1]) end end app.plugin :middleware, handle_result: handle_result do |middleware| middleware.plugin :hooks middleware.after do if response.empty? && response.headers.any? env["rodauth.rails.headers"] = response.headers end end middleware.class_eval do def self.inspect "#{superclass}::Middleware" end def inspect "#<#{self.class.inspect} request=#{request.inspect} response=#{response.inspect}>" end end end end |