Sha256: c6ac1206eddd0ab5b36e49d1a46dc69caa205a91c536b73abd7ceff0d531e18b

Contents?: true

Size: 973 Bytes

Versions: 10

Compression:

Stored size: 973 Bytes

Contents

module LogSanity
  module Extensions
    module ActionCableConnection
      extend ActiveSupport::Concern

      def close(reason: nil, **args)
        @close_reason = reason
        super
      end

      def process
        payload = { request: request }
        ActiveSupport::Notifications.instrument("process.action_cable", payload) do
          status, _, _ = response = super
          payload[:status] = status==-1 ? 101 : status
          response
        end
      end

      def reject_unauthorized_connection
        logger.instance_variable_get(:@logger).silence(Logger::FATAL) do
          super
        end
      end

      def on_close(reason, code)
        payload = {
          connection_sec: Time.now - @started_at,
          request: request
        }
        payload[:reason] = @close_reason if @close_reason
        ActiveSupport::Notifications.instrument("on_close.action_cable", payload) do
          super
        end
      end

    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
log_sanity-2.3.0 lib/log_sanity/extensions/action_cable_connection.rb
log_sanity-2.2.0 lib/log_sanity/extensions/action_cable_connection.rb
log_sanity-2.1.2 lib/log_sanity/extensions/action_cable_connection.rb
log_sanity-2.1.1 lib/log_sanity/extensions/action_cable_connection.rb
log_sanity-2.1.0 lib/log_sanity/extensions/action_cable_connection.rb
log_sanity-2.0.0 lib/log_sanity/extensions/action_cable_connection.rb
log_sanity-1.3.2 lib/log_sanity/extensions/action_cable_connection.rb
log_sanity-1.3.1 lib/log_sanity/extensions/action_cable_connection.rb
log_sanity-1.3.0 lib/log_sanity/extensions/action_cable_connection.rb
log_sanity-1.2.0 lib/log_sanity/extensions/action_cable_connection.rb