Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 111 lines (83 sloc) 4.255 kB
ed99f15 @miyagawa use Module::Install::ReadmeFromPod
miyagawa authored
1 NAME
2 Plack - PSGI reference implementation and utilities
3
4 DESCRIPTION
5 Plack is a set of PSGI reference server implementations and helper
6 utilities for Web application frameworks, exactly like Ruby's Rack.
7
8c1aa81 @miyagawa Checking in changes prior to tagging of version 0.9021. Changelog di…
miyagawa authored
8 See PSGI for the PSGI specification and PSGI::FAQ to know what PSGI and
9 Plack are and why we need them.
ed99f15 @miyagawa use Module::Install::ReadmeFromPod
miyagawa authored
10
11 MODULES AND UTILITIES
12 Plack::Server
13 Plack::Server is a namespace for PSGI server implementations. We have
14 Standalone, CGI, FCGI, Apache, AnyEvent, Coro, Danga::Socket and many
15 server environments that you can run PSGI applications on.
16
17 See Plack::Server how to write your own server implementation.
18
19 Plack::Loader
20 Plack::Loader is a loader to load one of Plack::Server backends and run
21 PSGI application code reference with it.
22
23 Plack::Util
24 Plack::Util contains a lot of utility functions for server implementors
25 as well as middleware authors.
26
27 .psgi files
28 PSGI application is a code reference but it's not easy to pass code
29 reference in the command line or configuration files, so Plack uses a
30 convention that you need a file named "app.psgi" or alike, which would
31 be loaded (via perl's core function "do") to return the PSGI application
32 code reference. See eg/dot-psgi directory for the example ".psgi" files.
33
34 plackup
35 plackup is a command line launcher to run PSGI applications from command
36 line using Plack::Loader to load PSGI backends. It can be used to run
37 standalone servers and FastCGI daemon processes. Other server backends
38 like Apache2 needs a separate configuration but ".psgi" application file
39 can still be the same.
40
41 Plack::Middleware
42 PSGI middleware is a PSGI application that wraps existent PSGI
43 application and plays both side of application and servers. From the
44 servers the wrapped code reference still looks like and behaves exactly
45 the same as PSGI applications.
46
47 Plack::Middleware gives you an easy way to wrap PSGI applications with a
48 clean API, and compatibility with Plack::Builder DSL.
49
50 Plack::Builder
fb031b2 @miyagawa remove feature() and make them all required to be less annoying
miyagawa authored
51 Plack::Builder gives you a DSL that you can enable Middleware in ".psgi"
ed99f15 @miyagawa use Module::Install::ReadmeFromPod
miyagawa authored
52 files to wrap existent PSGI applications.
53
54 Plack::Request, Plack::Response
55 Plack::Request gives you a nice wrapper API around PSGI $env hash to get
56 headers, cookies and query parameters much like Apache::Request in
57 mod_perl.
58
59 Plack::Response does the same to construct the response array reference.
60
61 Plack::Test
62 Plack::Test is an unified interface to test your PSGI application using
63 standard HTTP::Request and HTTP::Response pair with simple callbacks.
64
65 Plack::Test::Suite
66 Plack::Test::Suite is a test suite to test a new PSGI server backend.
67
8c1aa81 @miyagawa Checking in changes prior to tagging of version 0.9021. Changelog di…
miyagawa authored
68 CONTRIBUTING
69 Patches and Bug Fixes
70 Small patches and bug fixes can be either submitted via nopaste on IRC
71 <irc://irc.perl.org/#plack> or email. You could also fork on github
72 (http://github.com/miyagawa/Plack) to make larger fixes.
73
74 Module Namespaces
75 Modules added to the Plack:: sub-namespaces should be reasonably generic
76 components which are useful as builing blocks and not just simply using
77 Plack.
78
79 Middleware authors are free to use the Plack::Middleware:: namespace for
80 their middleware components. Middleware must be written in the pipeline
81 style such that they can chained together with other middleware
82 components. The Plack::Middleware:: modules in the core distribution are
83 good examples of such modules. It is recommended that you inherit from
84 Plack::Middleware for these types of modules.
85
86 Not all middleware components are wrappers, but instead are more like
87 endpoints in a middleware chain. These types of components should use
88 the Plack::App:: namespace. Again, look in the core modules to see
89 excellent examples of these (Plack::App::File, Plack::App::Directory,
90 etc.). It is recommended that you inherit from Plack::Component for
91 these types of modules.
92
76b0753 @miyagawa make Static dependencies as optional (but default on)
miyagawa authored
93 AUTHORS
94 Tatsuhiko Miyagawa
95
96 Yuval Kogman
97
98 Tokuhiro Matsuno
99
100 Kazuhiro Osawa
101
102 Kazuho Oku
ed99f15 @miyagawa use Module::Install::ReadmeFromPod
miyagawa authored
103
104 SEE ALSO
578693f @miyagawa test_requires
miyagawa authored
105 PSGI <http://plackperl.org/>
ed99f15 @miyagawa use Module::Install::ReadmeFromPod
miyagawa authored
106
107 LICENSE
108 This library is free software; you can redistribute it and/or modify it
109 under the same terms as Perl itself.
110
Something went wrong with that request. Please try again.