diff options
Diffstat (limited to 'app/channels/application_cable')
-rw-r--r-- | app/channels/application_cable/channel.rb | 11 | ||||
-rw-r--r-- | app/channels/application_cable/connection.rb | 8 | ||||
-rw-r--r-- | app/channels/application_cable/logging.rb | 17 |
3 files changed, 36 insertions, 0 deletions
diff --git a/app/channels/application_cable/channel.rb b/app/channels/application_cable/channel.rb index 9aec2305390..0de2b0185b5 100644 --- a/app/channels/application_cable/channel.rb +++ b/app/channels/application_cable/channel.rb @@ -2,5 +2,16 @@ module ApplicationCable class Channel < ActionCable::Channel::Base + include Logging + + private + + def notification_payload(_) + super.merge!(params: params.except(:channel)) + end + + def request + connection.request + end end end diff --git a/app/channels/application_cable/connection.rb b/app/channels/application_cable/connection.rb index 87c833f3593..1361269f2a2 100644 --- a/app/channels/application_cable/connection.rb +++ b/app/channels/application_cable/connection.rb @@ -2,8 +2,12 @@ module ApplicationCable class Connection < ActionCable::Connection::Base + include Logging + identified_by :current_user + public :request + def connect self.current_user = find_user_from_session_store end @@ -18,5 +22,9 @@ module ApplicationCable def session_id Rack::Session::SessionId.new(cookies[Gitlab::Application.config.session_options[:key]]) end + + def notification_payload(_) + super.merge!(params: request.params) + end end end diff --git a/app/channels/application_cable/logging.rb b/app/channels/application_cable/logging.rb new file mode 100644 index 00000000000..4152f8c779f --- /dev/null +++ b/app/channels/application_cable/logging.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +module ApplicationCable + module Logging + private + + def notification_payload(_) + super.merge!( + Labkit::Correlation::CorrelationId::LOG_KEY => request.request_id, + user_id: current_user&.id, + username: current_user&.username, + remote_ip: request.remote_ip, + ua: request.env['HTTP_USER_AGENT'] + ) + end + end +end |