Sha256: 125f0630dd253c4d2b399f896ec231718c779c19665dcfcdd4db7343d865a2cf

Contents?: true

Size: 1.25 KB

Versions: 15

Compression:

Stored size: 1.25 KB

Contents

# frozen_string_literal: true

require_relative "base"

module Kiev
  module Shoryuken
    require_relative "shoryuken/middleware"

    class << self
      def enable(base = nil)
        base ||= ::Shoryuken
        base.configure_client do |config|
          enable_client_middleware(config)
        end
        base.configure_server do |config|
          enable_client_middleware(config)
          enable_server_middleware(config)
        end
      end

      def enable_server_middleware(config)
        server_mw_enabled = false
        config.server_middleware do |chain|
          chain.add(Middleware::RequestStore)
          chain.add(Middleware::RequestId)
          chain.add(Middleware::StoreRequestDetails)
          chain.add(Middleware::RequestLogger)
          server_mw_enabled = true
        end
        server_mw_enabled # Shoryuken configuration may skip that block in non-worker setups
      end

      def enable_client_middleware(config)
        config.client_middleware do |chain|
          chain.add(Middleware::MessageTracer)
        end
      end

      def suffix_tree_path(config, tag)
        config.server_middleware do |chain|
          chain.insert_after(Middleware::RequestId, Middleware::TreePathSuffix, tag)
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
kiev-4.9.0 lib/kiev/shoryuken.rb
kiev-4.8.3 lib/kiev/shoryuken.rb
kiev-4.8.2 lib/kiev/shoryuken.rb
kiev-4.8.1 lib/kiev/shoryuken.rb
kiev-4.8.0 lib/kiev/shoryuken.rb
kiev-4.7.0 lib/kiev/shoryuken.rb
kiev-4.6.0 lib/kiev/shoryuken.rb
kiev-4.5.0 lib/kiev/shoryuken.rb
kiev-4.4.0 lib/kiev/shoryuken.rb
kiev-4.3.0 lib/kiev/shoryuken.rb
kiev-4.2.0 lib/kiev/shoryuken.rb
kiev-4.1.0 lib/kiev/shoryuken.rb
kiev-4.0.0 lib/kiev/shoryuken.rb
kiev-3.0.0 lib/kiev/shoryuken.rb
kiev-2.8.0 lib/kiev/shoryuken.rb