Module: Kiev::Shoryuken

Defined in:
lib/kiev/shoryuken.rb,
lib/kiev/shoryuken/context_reader.rb,
lib/kiev/shoryuken/middleware/request_id.rb,
lib/kiev/shoryuken/middleware/request_store.rb,
lib/kiev/shoryuken/middleware/message_tracer.rb,
lib/kiev/shoryuken/middleware/request_logger.rb,
lib/kiev/shoryuken/middleware/tree_path_suffix.rb,
lib/kiev/shoryuken/middleware/store_request_details.rb

Defined Under Namespace

Modules: Middleware Classes: ContextReader

Class Method Summary collapse

Class Method Details

.enable(base = nil) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/kiev/shoryuken.rb', line 10

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

.enable_client_middleware(config) ⇒ Object



33
34
35
36
37
# File 'lib/kiev/shoryuken.rb', line 33

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

.enable_server_middleware(config) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/kiev/shoryuken.rb', line 21

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

.suffix_tree_path(config, tag) ⇒ Object



39
40
41
42
43
# File 'lib/kiev/shoryuken.rb', line 39

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