Sha256: a221e7c5bc1d4a8e333175b513cafb2863ca29cd50b849645848ec8f68e6e6dd

Contents?: true

Size: 1.53 KB

Versions: 6

Compression:

Stored size: 1.53 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

require 'sqreen/kit/signals/signals_client'

module Sqreen
  module Kit
    module Signals
      class AuthSignalsClient
        attr_reader :headers # for testing only

        # @param signals_client [SignalsClient]
        # @param auth_data [Hash] :session_key, :api_key, :app_name
        def initialize(signals_client, auth_data)
          @signals_client = signals_client

          @headers = {}
          session_key = auth_data[:session_key]
          api_key = auth_data[:api_key]
          app_name = auth_data[:app_name]
          if session_key
            @headers['X-Session-Key'] = session_key
          elsif api_key
            @headers['X-Api-Key'] = api_key
            @headers['X-App-Name'] = app_name if app_name
          else
            raise ArgumentError, 'Authentication data not provided'
          end
        end

        # @param [Array<Sqreen::Kit::Signals::Signal|Sqreen::Kit::Signals::Trace>] signals_and_traces
        def report_batch(signals_and_traces)
          @signals_client.report_batch(signals_and_traces, @headers)
        end

        # @param [Sqreen::Kit::Signals::Signal] signal
        def report_signal(signal)
          @signals_client.report_signal(signal, @headers)
        end

        # @param [Sqreen::Kit::Signals::Trace] trace
        def report_trace(trace)
          @signals_client.report_trace(trace, @headers)
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sqreen-kit-0.2.4 lib/sqreen/kit/signals/auth_signals_client.rb
sqreen-kit-0.2.3 lib/sqreen/kit/signals/auth_signals_client.rb
sqreen-kit-0.2.2 lib/sqreen/kit/signals/auth_signals_client.rb
sqreen-kit-0.2.1 lib/sqreen/kit/signals/auth_signals_client.rb
sqreen-kit-0.2.0 lib/sqreen/kit/signals/auth_signals_client.rb
sqreen-kit-0.1.1 lib/sqreen/kit/signals/auth_signals_client.rb