| Class | Middleware::Builder |
| In: |
lib/middleware/builder.rb
|
| Parent: | Object |
This provides a DSL for building up a stack of middlewares.
This code is based heavily off of `Rack::Builder` and `ActionDispatch::MiddlewareStack` in Rack and Rails, respectively.
# Usage
Building a middleware stack is very easy:
app = Middleware::Builder.new do
use A
use B
end
# Call the middleware
app.call(7)
Initializes the builder. An optional block can be passed which will be evaluated in the context of the instance.
Example:
Builder.new do
use A
use B
end
@param [Hash] opts Options hash @option opts [Class] :runner_class The class to wrap the middleware stack
in which knows how to run them.
@yield [] Evaluated in this instance which allows you to use methods
like {#use} and such.
Inserts a middleware at the given index or directly before the given middleware object.
Inserts a middleware after the given index or middleware object.
Adds a middleware class to the middleware stack. Any additional args and a block, if given, are saved and passed to the initializer of the middleware.
@param [Class] middleware The middleware class