diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index af52c2fd6..37f663be8 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,5 +1,5 @@ class ApplicationController < ActionController::Base - include Authentication, CurrentTimezone, SetPlatform, WriterAffinity + include Authentication, CurrentRequest, CurrentTimezone, SetPlatform, WriterAffinity stale_when_importmap_changes allow_browser versions: :modern diff --git a/app/controllers/concerns/current_request.rb b/app/controllers/concerns/current_request.rb new file mode 100644 index 000000000..b7e4af73d --- /dev/null +++ b/app/controllers/concerns/current_request.rb @@ -0,0 +1,13 @@ +module CurrentRequest + extend ActiveSupport::Concern + + included do + before_action do + Current.http_method = request.method + Current.request_id = request.uuid + Current.user_agent = request.user_agent + Current.ip_address = request.ip + Current.referrer = request.referrer + end + end +end diff --git a/app/models/current.rb b/app/models/current.rb index a4d0f0864..f67ef117d 100644 --- a/app/models/current.rb +++ b/app/models/current.rb @@ -1,5 +1,6 @@ class Current < ActiveSupport::CurrentAttributes attribute :session + attribute :http_method, :request_id, :user_agent, :ip_address, :referrer delegate :user, to: :session, allow_nil: true end