Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 PSGI  





2 Supported backends  





3 Examples  





4 References  





5 External links  














Plack (software)







Add links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 




In other projects  



Wikimedia Commons
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 

(Redirected from PSGI)

Plack
Original author(s)Tatsuhiko Miyagawa
Developer(s)Tatsuhiko Miyagawa, Tokuhiro Matsuno, Jesse Luehrs, Tomas Doran, Graham Knop and others.
Written inPerl
LicensePerl license (Artistic License v2 + GNU General Public License v1)
Websiteplackperl.org
An example of server-side scripting using Perl, Plack and PSGI.

Plack is a Perl web application programming framework inspired by Rack for Ruby and WSGI for Python,[1][2] and it is the project behind the PSGI specification used by other frameworks such as Catalyst and Dancer.[3] Plack allows for testing of Perl web applications without a live web server.[4]

Plackup is a command line utility to run PSGI applications from the command line.[5]

PSGI

[edit]

PSGIorPerl Web Server Gateway Interface is an interface between web servers and web applications and frameworks written in the Perl programming language that allows writing portable applications that can be run as standalone servers or using CGI, FastCGI, mod_perl, et al.[6] It is inspired by the Web Server Gateway Interface for Python, Rack for Ruby and JSGI for JavaScript. A PSGI application is a Perl subroutine that accepts arguments as a single hash reference and returns a reference to an array of three elements: an HTTP status code, a reference to an array of HTTP headers and a reference to an array of HTTP body lines (usually a generated HTML document) or a filehandle-like object.

Supported backends

[edit]

As of May 2023[7] Plack supports the following server backends:

Examples

[edit]

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

[edit]
  1. ^ Poe, Curtis (2012). Beginning Perl. John Wiley & Sons. p. 484. ISBN 9781118235638. Retrieved 29 October 2018.
  • ^ "PSGI/Plack - Perl Superglue for Web Frameworks and Web Servers". plackperl.org. Retrieved 9 September 2023.
  • ^ Quigley, Ellie (2014). Perl by Example. Pearson Education. p. 586. ISBN 9780133760811. Retrieved 29 October 2018.
  • ^ Chromatic (2015). Modern Perl (Fourth ed.). The Pragmatic Programmers, LLC. p. 134. ISBN 978-1-68050-088-2.
  • ^ "plackup - metacpan.org". metacpan.org. Retrieved 30 May 2023.
  • ^ chromatic. "Web Application Development with Modern Perl". modernperlbooks.com.
  • ^ Plack::Handler modules on CPAN
  • [edit]


    Retrieved from "https://en.wikipedia.org/w/index.php?title=Plack_(software)&oldid=1218804874#PSGI"

    Categories: 
    Perl software
    Free web server software
    Hidden categories: 
    Articles lacking reliable references from February 2013
    All articles lacking reliable references
    Articles containing potentially dated statements from May 2023
    All articles containing potentially dated statements
    Use dmy dates from May 2019
     



    This page was last edited on 13 April 2024, at 23:27 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki