17 Rack Middlewares I want to use

Since I’ve reviewed five different Rack middlewares this week, I thought it would be useful to list the other ones I’m interested in. Some are great for production deployments, some are great for development, and some are just plain silly.

  1. DbIndexes – shows the database indexes used by ActiveRecord on the page.
  2. OnlyForMe – simple authentication.
  3. Rack::Auth::Cheat – lets you login to an application as any user with a master password.
  4. Rack::EnforceSSL – forces specific paths to be requested over SSL.
  5. Rack::Environmental – shows a colored badge on the page for each environment.
  6. Rack::GemAssets – sends static files from gems to the browser. Might be useful for Rails Engines.
  7. Rack::KarmaChameleon – switches the extension of each page. e.g. /login.php
  8. Rack::LocaleSetter – “Set Rails locale using subdomain.”
  9. Rack::Pot – It’s a little teapot, short and $stdout.
  10. Rack::Rakismet – checks each request to see if there is spam comments against the Akismet API.
  11. Rack::Rewrite – allows defining request rewrite rules in Rack/Ruby instead of in the web server (Apache).
  12. Rack::Runtime – adds an X-Runtime HTTP header that shows how fast the application generated the content.
  13. Rack::SpellCheck – highlights speeling errors on the web page.
  14. Rack::Steroscope – adds an HTML interface to your RESTful API.
  15. Rack::Tidy – automatically indents and formats valid HTML markup.
  16. Rack::Validate – runs the page content against the w3c validator.
  17. ResourceCount – adds a REST endpoint to get a count of the number of records in ActiveRecord.

There are the five from my code reading series where I’ve taken a more in depth look at:

  1. Rack::MemoryBloat
  2. Rack::GoogleAnalytics
  3. Rack::StaticFallback
  4. Rack::ForceDomain
  5. Rack::Staging

What other Rack middleware is interesting to you?