Sha256: a15e3a1ad737ead2f4b3e405042534910740434f6969a76e6f4c044b48c4529f

Contents?: true

Size: 1.35 KB

Versions: 10

Compression:

Stored size: 1.35 KB

Contents

# typed: ignore

# Copyright (c) 2015 Sqreen. All Rights Reserved.
# Please refer to our terms for more information: https://www.sqreen.com/terms.html

# TODO: Sqreen::Attack => sqreen/events
# TODO: Sqreen::RemoteException  => sqreen/events
# TODO: Sqreen::RequestRecord => sqreen/events

require 'sqreen/log/loggable'
require 'sqreen/events/attack'
require 'sqreen/events/remote_exception'
require 'sqreen/events/request_record'

module Sqreen
  module Deliveries
    # Simple delivery method that directly call session on event
    class Simple
      include Log::Loggable
      attr_accessor :session

      def initialize(session)
        self.session = session
      end

      def post_event(event)
        case event
        when Sqreen::Attack
          session.post_attack(event)
        when Sqreen::RemoteException
          session.post_sqreen_exception(event)
        when Sqreen::RequestRecord
          session.post_request_record(event)
        when Sqreen::AggregatedMetric
          logger.warn 'Delivery of metrics using signals is not supported with simple delivery'
        else
          session.post_event(event)
        end
      end

      def drain
        # Since everything is posted at once nothing needs to be done here
      end

      def tick
        # Since everything is posted at once nothing needs to be done here
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
sqreen-1.25.1 lib/sqreen/deliveries/simple.rb
sqreen-1.25.0 lib/sqreen/deliveries/simple.rb
sqreen-1.24.3 lib/sqreen/deliveries/simple.rb
sqreen-1.24.2 lib/sqreen/deliveries/simple.rb
sqreen-1.24.1 lib/sqreen/deliveries/simple.rb
sqreen-1.24.0 lib/sqreen/deliveries/simple.rb
sqreen-1.23.2 lib/sqreen/deliveries/simple.rb
sqreen-1.23.1 lib/sqreen/deliveries/simple.rb
sqreen-1.23.0 lib/sqreen/deliveries/simple.rb
sqreen-1.22.1 lib/sqreen/deliveries/simple.rb