List of Middleware

Ponomarev Ilya edited this page Sep 2, 2018 · 96 revisions

Numerous Middleware components exist in the Rack library itself, as well as the official Rack contributions project.

  • JSON-P
  • Rack::Cache is suitable as a quick drop-in component to enable HTTP caching.
  • Rack::ESI is a small (but still very useful!) subset of ESI (Edge Side Includes).
  • CloudKit includes OpenIDFilter, OAuthFilter, and RESTful JSON storage
  • Rack::Config – Shared configuration for cooperative middleware.
  • Rack::OpenID provides a more HTTPish API around the ruby-openid library.
  • Rack::Debug
  • Rack::AbstractFormat
  • Rack::RespondTo allows triggering different actions based on requested media type.
  • Rack::SupportedMediaTypes specify an app’s supported media types.
  • Rack::AcceptMediaTypes determine the request’s prefered media type.
  • Rack::MultipartRelated parses multipart/related requests and rebuild a simple/merged parameters hash.
  • Rack::Heartbeat Add a configurable heartbeat/health-check/ping url to your app
  • Rack::Honeypot acts as a spam trap.
  • Rack::GoogleAnalytics embeds Google Analytics tracking code.
  • Rack::Embed embeds small images via the data-url (base64) if the browser supports it. This reduces http traffic.
  • Warden General Rack Authentication Framework
  • Rack::StaticFallback bounces or redirects requests to missing static files.
  • Rack::Throttle provides logic for rate-limiting incoming HTTP requests to Rack applications.
  • Rack::LinkedData implements Linked Data content negotiation.
  • SimpleRouter
  • Cylon Disallows application indexation by search engines except in production. Rack Middleware and Rails Engine.
  • Slogger::Rack::RequestLogger if you want to log on Syslog.
  • Rack::Batik::SVG transcodes SVG pictures to JPEG
  • Rack::Referrals extracts referring search engine info
  • Muster parses some or all of the query string in varying formats into hashes. Helps adding human friendly (not rack/rails nested) query string options to APIs and such.
  • Moneta adds Rack::MonetaStore (places key/value store in env, support for per-request caching), Rack::MonetaCookies (allow Moneta to be used to store cookies) and Rack::MonetaRest (expose a key/value store via HTTP/REST)
  • RouteDowncaser makes all routing in Rails case-insensitive.
  • Rack::Attack A DSL for blocking & throttling abusive clients
  • ChromeLogger A Ruby library that implements the Chrome Logger spec as Rack middleware
  • Rack::DetectTor Detect Tor exit users
  • Rack::RackTorBlock Block access to a rack application from any client accessing from the Tor network
  • Rack::Turnout Easily put your Rack apps into maintenance mode
  • Rack::CAS Simple CAS client authentication
  • Rack::AcornCache Configurable HTTP proxy caching solution
  • Rack::Fraction Middleware which lets you to execute arbitrary code just for a certain fraction of requests
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.