Sha256: 208a18d463ccbe667c9399851d9a830967dd1c1586b0283dc0857b5441069716

Contents?: true

Size: 707 Bytes

Versions: 7

Compression:

Stored size: 707 Bytes

Contents

# frozen_string_literal: true

module Sbmt
  module KafkaConsumer
    module Probes
      module Probe
        HEADERS = {"Content-Type" => "application/json"}.freeze

        def call(env)
          with_error_handler { probe(env) }
        end

        def meta
          {}
        end

        def probe_ok(extra_meta = {})
          [200, HEADERS, [meta.merge(extra_meta).to_json]]
        end

        def probe_error(extra_meta = {})
          [500, HEADERS, [meta.merge(extra_meta).to_json]]
        end

        def with_error_handler
          yield
        rescue => error
          probe_error(error_class: error.class.name, error_message: error.message)
        end
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
sbmt-kafka_consumer-2.4.1 lib/sbmt/kafka_consumer/probes/probe.rb
sbmt-kafka_consumer-2.4.0 lib/sbmt/kafka_consumer/probes/probe.rb
sbmt-kafka_consumer-2.3.1 lib/sbmt/kafka_consumer/probes/probe.rb
sbmt-kafka_consumer-2.3.0 lib/sbmt/kafka_consumer/probes/probe.rb
sbmt-kafka_consumer-2.2.0 lib/sbmt/kafka_consumer/probes/probe.rb
sbmt-kafka_consumer-2.1.0 lib/sbmt/kafka_consumer/probes/probe.rb
sbmt-kafka_consumer-2.0.0 lib/sbmt/kafka_consumer/probes/probe.rb