Module: Takagi::Base::MiddlewareManagement

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

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



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

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