Rack (Webserver-Interface)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Rack: ein Ruby-Webserver-Interface
Rack-logo.png
Entwickler Christian Neukirchen; James Tucker, Michael Fellinger, Konstantin Haase, Aaron Patterson
Aktuelle Version 1.4.0
(2011-12-28)
Betriebssystem plattformunabhängig
Programmier­sprache Ruby
Kategorie Middleware
Lizenz MIT License
rack.rubyforge.org

Rack stellt eine minimale, modulare und adaptive Schnittstelle für die Entwicklung von Webapplikationen in der Programmiersprache Ruby bereit. Durch das Wrappen von HTTP-Requests und HTTP-Responses, das auf die einfachste mögliche Weise erfolgt, vereinheitlicht es die Schnittstelle für Webserver, Webframeworks und die Software dazwischen, sogenannte Middleware, und destilliert diese Zugriffe zu einem einzigen Methodenaufruf.

Rack wird in fast allen Webframeworks und Weblibraries in der Ruby-Welt benutzt, zum Beispiel von Ruby On Rails und Sinatra. Es ist als Ruby Gem verfügbar.

Rack hat bereits ein Framework in der JavaScript-Welt (jackjs)[1] und eines in der Perl-Welt (Plack) inspiriert und stellt in der Ruby-Welt einen de-facto-Standard der Rack-Kompatibilität (englisch "rack-compliant") dar.[2]

Beispielapplikation[Bearbeiten]

Eine Rack-kompatible "Hello World"-Applikation in Ruby syntax:

app = lambda do |env|
  body = "Hello, World!"
  [200, {"Content-Type" => "text/plain", "Content-Length" => body.length.to_s}, [body]]
end
 
run app

Siehe auch[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. http://jackjs.org/
  2. http://www.rubyinside.com/pancake-rack-webapps-stacking-2863.html

Weblinks[Bearbeiten]