module Lapine::Consumer::Middleware

Consumer middleware can be registered as follows:

Lapine::Consumer::Middleware.add MyClass
Lapine::Consumer::Middleware.add MyClass, argument
Lapine::Consumer::Middleware.add_before MyClass, MyOtherClass, argument
Lapine::Consumer::Middleware.add_after MyClass, MyOtherClass, argument

Middleware should follow the pattern:

class MyMiddleware
  attr_reader :app

  def initialize(app, *arguments)
    @app = app
  end

  def call(message)
    # do stuff
    app.call(message)
  end
end

Constants

DEFAULT_MIDDLEWARE