lib/lograge/rails_ext/action_cable/connection/base.rb in lograge-0.11.2 vs lib/lograge/rails_ext/action_cable/connection/base.rb in lograge-0.12.0

- old
+ new

@@ -1,42 +1,21 @@ -module ActionCable - module Connection - class Base - # rubocop:disable Metrics/MethodLength - def handle_open - ActiveSupport::Notifications.instrument('connect.action_cable', notification_payload('connect')) do - begin - @protocol = websocket.protocol - connect if respond_to?(:connect) - subscribe_to_internal_channel - send_welcome_message +# frozen_string_literal: true - message_buffer.process! - server.add_connection(self) - rescue ActionCable::Connection::Authorization::UnauthorizedError - respond_to_invalid_request - end - end +module Lograge + module ActionCable + module ConnectionInstrumentation + def handle_open + ActiveSupport::Notifications.instrument('connect.action_cable', notification_payload('connect')) { super } end - # rubocop:enable Metrics/MethodLength def handle_close - ActiveSupport::Notifications.instrument('disconnect.action_cable', notification_payload('disconnect')) do - logger.info finished_request_message if Lograge.lograge_config.keep_original_rails_log - - server.remove_connection(self) - - subscriptions.unsubscribe_from_all - unsubscribe_from_internal_channel - - disconnect if respond_to?(:disconnect) - end + ActiveSupport::Notifications.instrument('disconnect.action_cable', notification_payload('disconnect')) { super } end - private - def notification_payload(method_name) { connection_class: self.class.name, action: method_name, data: request.params } end end end end + +ActionCable::Connection::Base.prepend(Lograge::ActionCable::ConnectionInstrumentation)