Rack (Webserver-Interface)

Rack: ein Ruby-Webserver-Interface

Logo
Basisdaten

EntwicklerLeah Neukirchen; James Tucker, Michael Fellinger, Konstantin Haase, Aaron Patterson
Aktuelle Version1.5.2
(2013-02-07)
Betriebssystemplattformunabhängig
ProgrammierspracheRuby
KategorieMiddleware
LizenzMIT License
rack.github.io

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 möglichst einfache Weise erfolgt, vereinheitlicht es die Schnittstelle für Webserver, Webframeworks und die Software dazwischen, die Middleware, und destilliert diese Zugriffe zu einem einzigen Methodenaufruf.

Rack wird in fast allen Webframeworks und Weblibraries in der Ruby-Welt benutzt, z. B. von Ruby On Rails und Sinatra. Es ist als Ruby Gem verfügbar.[1]

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

Beispielapplikation

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

require 'rack'

app = Proc.new do |env|
  body = "Hello, World!"
  ['200', {'Content-Type' => 'text/html', 'Content-Length' => body.length.to_s}, [body]]
end

Rack::Handler::WEBrick.run app

Siehe auch

Weblinks

Einzelnachweise

  1. https://rubygems.org/gems/rack/
  2. rubyinside.com
  3. jackjs.org (Memento des Originals vom 17. Dezember 2014 im Internet Archive)  Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/jackjs.org

Auf dieser Seite verwendete Medien

Rack-logo.png
Autor/Urheber: Armin Ronacher <armin.ronacher@active-4.com>, Lizenz: MIT
Logo for Rack, a Ruby webserver interface.