class Protocol::HTTP::Middleware::Builder

Public Class Methods

new(default_app = NotFound) click to toggle source
# File lib/protocol/http/middleware/builder.rb, line 38
def initialize(default_app = NotFound)
        @use = []
        @app = default_app
end

Public Instance Methods

run(app) click to toggle source
# File lib/protocol/http/middleware/builder.rb, line 49
def run(app)
        @app = app
end
to_app() click to toggle source
# File lib/protocol/http/middleware/builder.rb, line 53
def to_app
        @use.reverse.inject(@app) {|app, use| use.call(app)}
end
use(middleware, *arguments, &block) click to toggle source
# File lib/protocol/http/middleware/builder.rb, line 43
def use(middleware, *arguments, &block)
        @use << proc {|app| middleware.new(app, *arguments, &block)}
end