Sha256: d21839ccb71c37e3c1c5b798f73fb0910d0c1df5286e00e7c75c5366bad47f29

Contents?: true

Size: 1.1 KB

Versions: 6

Compression:

Stored size: 1.1 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/http_client'

module Sqreen
  module Kit
    module Signals
      class SignalsClient
        STATIC_HEADERS = { 'Content-type' => 'application/json' }.freeze

        # @param http_client [Sqreen::Kit:HttpClient]
        def initialize(http_client)
          @http_client = http_client
        end

        # @param [Array] signals_and_traces
        # @param headers [Hash{String=>String}]
        def report_batch(signals_and_traces, headers)
          data = '[' + signals_and_traces.map(&:to_json).join(',') + ']'
          @http_client.post('batches', data, STATIC_HEADERS.merge(headers))
        end

        def report_signal(signal, headers)
          data = signal.to_json
          @http_client.post('signals', data, STATIC_HEADERS.merge(headers))
        end

        def report_trace(trace, headers)
          data = trace.to_json
          @http_client.post('traces', data, STATIC_HEADERS.merge(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/signals_client.rb
sqreen-kit-0.2.3 lib/sqreen/kit/signals/signals_client.rb
sqreen-kit-0.2.2 lib/sqreen/kit/signals/signals_client.rb
sqreen-kit-0.2.1 lib/sqreen/kit/signals/signals_client.rb
sqreen-kit-0.2.0 lib/sqreen/kit/signals/signals_client.rb
sqreen-kit-0.1.1 lib/sqreen/kit/signals/signals_client.rb