Volt Introduction and Docs

Middleware

While Volt uses websockets for database communication and tasks, it uses rack for HttpControllers and to setup the websocket connection. You can add your own middleware. In a component's config/initializers/boot.rb you can do the following:

Volt.current_app.middleware.use(SomeMiddleware)

Volt.current_app.middleware returns a Volt::MiddlewareStack that behaves like a Rack::Builder instance. It supports the following methods:

  • use
  • run

(more methods to reorder middleware coming soon)

NOTE: Currently we don't have a way to specify where in the middleware stack middleware is loaded. (Please ping @ryanstout in gitter if you are interested in implementing this -- it should be fairly easy)