Rack (web server interface)

Rack, a Ruby Webserver Interface
Original author(s)Leah Neukirchen
Developer(s)James Tucker, Josh Peek, José Valim, Michael Fellinger, Aaron Patterson, Santiago Pastorino, Konstantin Haase
Stable release
3.0.2 / December 5, 2022; 23 months ago (2022-12-05)[1]
Repository
Operating systemCross-platform
TypeMiddleware
LicenseMIT License
Websiterack.github.io Edit this on Wikidata

Rack is a modular interface between web servers and web applications developed in the Ruby programming language. With Rack, application programming interfaces (APIs) for web frameworks and middleware are wrapped into a single method call handling HTTP requests and responses.

Rack is used by many Ruby web frameworks and libraries, such as Ruby on Rails and Sinatra. It is available as a Ruby Gem. Many Ruby applications are called "rack-compliant".[2]

Rack has inspired similar frameworks in JavaScript[3] (jack.js), Clojure,[4] Perl (Plack), Common Lisp (Clack),[5] and .NET (OWIN).[6]

  1. ^ "Releases - rack/rack". Retrieved 5 December 2022 – via GitHub.
  2. ^ Pancake: How To Stack and Loosely Couple Rack-Based Webapps Together. Rubyinside.com (2009-12-04). Retrieved on 2013-09-20.
  3. ^ jack - introduction Archived 2014-12-17 at the Wayback Machine. Jackjs.org. Retrieved on 2013-09-20.
  4. ^ ring - introduction. GitHub.com. Retrieved on 2020-04-20.
  5. ^ clacklisp.org. Retrieved on 2014-10-17.
  6. ^ http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana. Asp.net. Retrieved on 2014-10-01.