1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00
Commit graph

7 commits

Author SHA1 Message Date
Mike Perham
d2c1f491e6 web compat with Pro/Enterprise 2016-08-01 09:05:10 -07:00
Amadeus Folego
9ae228c521 Send Content-Length header 2016-07-29 16:15:07 -03:00
Mike Perham
e8cdbd80b4 Add necessary web infrastructure to support Pro/Ent 2016-07-29 12:09:00 -07:00
Amadeus Folego
d05066dc1a Implement compatibility interface with sinatra 2016-07-29 04:45:19 -03:00
Amadeus Folego
91fd77d44e Minor cleanups and improve extension compatibility 2016-07-27 16:18:52 -03:00
Mike Perham
20e1035bea Implement several extension points 2016-07-26 22:19:56 -07:00
Amadeus Folego
9ea167db16 Migrate Sidekiq::Web to a pure Rack application
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