Module: Takagi::Base::MiddlewareManagement

Included in:
Takagi::Base
Defined in:
lib/takagi/base/middleware_management.rb,
sig/takagi/base/middleware_management.rbs

Overview

Manages middleware stack configuration and request processing.

Extracted from Base class to follow Single Responsibility Principle. Handles middleware registration and stack initialization.

Instance Method Summary collapse

Instance Method Details

#call(request) ⇒ Message::Outbound

Processes a request through the middleware stack

Parameters:

Returns:



14
15
16
# File 'lib/takagi/base/middleware_management.rb', line 14

def call(request)
  middleware_stack.call(request)
end

#middleware_stackMiddlewareStack

Returns the middleware stack instance

Lazily initializes the middleware stack with default configuration

Returns:



23
24
25
# File 'lib/takagi/base/middleware_management.rb', line 23

def middleware_stack
  @middleware_stack ||= Takagi::MiddlewareStack.load_from_config('', router)
end

#use(middleware) ⇒ Object

Adds a middleware to the stack

Examples:

use CustomMiddleware.new
use Takagi::Middleware::Caching.new(ttl: 300)

Parameters:

  • middleware (Object)

    Middleware instance responding to #call

Returns:

  • (Object)


34
35
36
# File 'lib/takagi/base/middleware_management.rb', line 34

def use(middleware)
  middleware_stack.use(middleware)
end