Class: A2A::Server::Middleware::Builder
- Inherits:
-
Object
- Object
- A2A::Server::Middleware::Builder
- Defined in:
- lib/a2a/server/middleware.rb
Overview
Middleware builder for creating middleware stacks
Instance Method Summary collapse
-
#build ⇒ Registry
Build the middleware registry.
-
#call(request, context) { ... } ⇒ Object
Execute the middleware stack.
-
#initialize ⇒ Builder
constructor
A new instance of Builder.
-
#use(middleware, **options) ⇒ Object
Add custom middleware.
-
#use_authentication(**options) ⇒ Object
Add authentication middleware.
-
#use_cors(**options) ⇒ Object
Add CORS middleware.
-
#use_logging(**options) ⇒ Object
Add logging middleware.
-
#use_rate_limiting(**options) ⇒ Object
Add rate limiting middleware.
Constructor Details
#initialize ⇒ Builder
Returns a new instance of Builder.
111 112 113 |
# File 'lib/a2a/server/middleware.rb', line 111 def initialize @registry = Registry.new end |
Instance Method Details
#build ⇒ Registry
Build the middleware registry
165 166 167 |
# File 'lib/a2a/server/middleware.rb', line 165 def build @registry end |
#call(request, context) { ... } ⇒ Object
Execute the middleware stack
176 177 178 |
# File 'lib/a2a/server/middleware.rb', line 176 def call(request, context, &block) @registry.call(request, context, &block) end |
#use(middleware, **options) ⇒ Object
Add custom middleware
156 157 158 159 |
# File 'lib/a2a/server/middleware.rb', line 156 def use(middleware, **) @registry.add(middleware, **) self end |
#use_authentication(**options) ⇒ Object
Add authentication middleware
119 120 121 122 |
# File 'lib/a2a/server/middleware.rb', line 119 def use_authentication(**) @registry.add(AuthenticationMiddleware.new(**)) self end |
#use_cors(**options) ⇒ Object
Add CORS middleware
146 147 148 149 |
# File 'lib/a2a/server/middleware.rb', line 146 def use_cors(**) @registry.add(CorsMiddleware.new(**)) self end |
#use_logging(**options) ⇒ Object
Add logging middleware
137 138 139 140 |
# File 'lib/a2a/server/middleware.rb', line 137 def use_logging(**) @registry.add(LoggingMiddleware.new(**)) self end |
#use_rate_limiting(**options) ⇒ Object
Add rate limiting middleware
128 129 130 131 |
# File 'lib/a2a/server/middleware.rb', line 128 def use_rate_limiting(**) @registry.add(RateLimitMiddleware.new(**)) self end |