Migrate Sidekiq::Web a pure Rack application to avoid sinatra as
dependency. rack-protection is still needed.
The application is mounted on top of Rack::Builder, mantaining all of
the previous http interface.
Rack apps being used:
- Rack::File to serve assets
- Rack::Session::Cookie, the secret can be configured via
Sidekiq::Web.session_secret
- Rack::Protection, same as before when using sinatra
- Sidekiq::WebApplication, described below.
Sidekiq::WebApplication is a very simple rack application composed of a
Sidekiq::WebRouter and a Sidekiq::WebAction dispatcher. This terminology
was adopted to be able to mantain Sidekiq::Web as a Rack app.
The Router is heavily inspired on Rack::Router[0] (and in many parts
identical), however not being retrocompatible.
The Action is a wrapper to provide convenience, DRY code and maintain
the old interface.
I tried to mantain most of the old application structures so that
customizations and monkey-patches are easily adjustable or even
further work be done to enforce retrocompatibility.
Testing welcome!
0: https://github.com/pjb3/rack-router
2016-07-26 11:43:32 -03:00
Renamed from lib/sidekiq/web_helpers.rb (Browse further)