Plack (software)
Original author(s) | Tatsuhiko Miyagawa |
---|---|
Developer(s) | Tatsuhiko Miyagawa, Tokuhiro Matsuno, Jesse Luehrs, Tomas Doran, Graham Knop and others. |
Development status | Active |
Written in | Perl |
License | Perl License (Artistic License v2 + GNU General Public License v1) |
Website | plackperl.org |
Plack is a Perl web application programming framework inspired by Rack for Ruby and WSGI for Python,[1] and it is the project behind the PSGI specification used by other frameworks such as Catalyst and Dancer.
Plackup is a command line utility to run PSGI applications from the command line.[2]
Supported backends
As of March 2010[3] Plack supports the following server backends:
- CGI
- SCGI
- FastCGI
- mod_perl under Apache 1.3 and 2.0
- Standalone HTTP server included in Plack
- HTTP::Server::Simple
- Corona
- Starman
- Twiggy
- AnyEvent::HTTPD
- AnyEvent::ReverseHTTP
Examples
Using the default standalone HTTP server:
$ plackup app.psgi
HTTP::Server::PSGI: Accepting connections at http://0:5000/
Running as a FastCGI daemon listening on a Unix socket, ready to be used by any Web server with FastCGI support:
$ plackup -s FCGI—listen /tmp/fcgi.sock app.psgi FastCGI: manager (pid 3336): initialized FastCGI: manager (pid 3336): server (pid 3337) started FastCGI: server (pid 3337): initialized
A working Hello world application run as a one-liner:
$ plackup -e 'sub { [200, ["Content-Type" => "text/plain"], ["Hello, world!"]] }
'
HTTP::Server::PSGI: Accepting connections at http://0:5000/
The command above starts an HTTP server listening on port 5000 of every local interface (IP address) and returns this 200 OK response to every HTTP request:
HTTP/1.0 200 OK
Date: Fri, 19 Mar 2010 23:34:10 GMT
Server: HTTP::Server::PSGI
Content-Type: text/plain
Content-Length: 13
Hello, world!
References
- ↑ http://plackperl.org
- ↑ "plackup - search.cpan.org". search.cpan.org. Retrieved 2016-02-20.
- ↑ Plack::Handler modules on CPAN
External links
This article is issued from Wikipedia - version of the 2/22/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.