NAME
KelpX::Symbiosis::Engine::Kelp - Use Kelp routes as an engine
DESCRIPTION
This is a reimplementation of KelpX::Symbiosis::Engine using Kelp itself as a runner. All other apps will have to go through Kelp first, which will be the center of the application.
CAVEATS
All system routing goes through the Kelp router
You can mix apps and Kelp actions, set bridges and build urls to all application components.
Slurpy parameter will be added to the non-regex path
'/static'
will be turned into '/static/>subpath'
in order to be able to match any subpath and pass it into the app. Same with [GET => '/static']
. This way it will allow the same mount points as other engines without extra work. Regex patterns will not be altered in any way.
mount
cannot be configured for the main Kelp app
Kelp will always be mounted at the very root. The module will throw an exception if you try to configure a different mount
.
Does not allow to assign specific middleware for the Kelp app
Middleware from the top-level middleware
will be wrapping the app the same as Symbiosis middleware, and all other apps will have to go through it. It's impossible to have middleware just for the Kelp app.
Middleware redundancy
Wrapping some apps in the same middleware as your main app may be redundant at times. For example, wrapping a static app in session middleware is probably only going to reduce its performance. If it bothers you, you may want to switch to URLMap engine and only mount specific apps under kelp using psgi => 1
.