Sha256: 78a00eddfc7fdd43c4ac4a5ac7eeb6a3bf6dec31dff002aec9bfc9b31e3d9eed
Contents?: true
Size: 1023 Bytes
Versions: 15
Compression:
Stored size: 1023 Bytes
Contents
require 'routemaster/middleware/root_post_only' require 'routemaster/middleware/authenticate' require 'routemaster/middleware/parse' require 'routemaster/drain/terminator' require 'rack/builder' require 'delegate' module Routemaster module Drain # Rack application which authenticates, parses, and broadcasts events # received from Routemaster. # # See the various corresponding middleware for details on operation: # {Middleware::Authenticate}, {Middleware::Parse}, and terminates with # {Terminator}. # class Basic extend Forwardable def initialize(options = {}) @terminator = terminator = Terminator.new @app = ::Rack::Builder.app do use Middleware::RootPostOnly use Middleware::Authenticate, options use Middleware::Parse run terminator end end # delegate :call => :@app def call(env) @app.call(env) end delegate [:on, :subscribe] => :@terminator end end end
Version data entries
15 entries across 15 versions & 1 rubygems