Rack (Webserver-Interface)

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, sogenannte Middleware, und destilliert diese Zugriffe zu einem einzigen Methodenaufruf.

Rack: ein Ruby-Webserver-Interface
Basisdaten
Entwickler Leah Neukirchen; James Tucker, Michael Fellinger, Konstantin Haase, Aaron Patterson
Aktuelle Version 1.5.2
(2013-02-07)
Betriebssystem plattformunabhängig
Programmiersprache Ruby
Kategorie Middleware
Lizenz MIT License
rack.github.io

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[1] verfügbar.

Rack hat bereits ein Framework in der JavaScript-Welt (jackjs)[2] 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.[3]

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

Einzelnachweise

  1. https://rubygems.org/gems/rack/
  2. 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
  3. rubyinside.com
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.