Rechercher une page de manuel
Plack::Component.3pm
Langue: en
Version: 2010-05-04 (ubuntu - 24/10/10)
Section: 3 (Bibliothèques de fonctions)
NAME
Plack::Component - Base class for PSGI endpointsSYNOPSIS
package Plack::App::Foo; use parent qw( Plack::Component ); sub call { my($self, $env) = @_; # Do something with $env my $res = ...; # create a response ... # return the response return $res; }
DESCRIPTION
Plack::Component is the base class shared between Plack::Middleware and Plack::App::* modules. If you are writing middleware, you should inherit from Plack::Middleware, but if you are writing a Plack::App::* you should inherit from this directly.REQUIRED METHOD
- call ($env)
- You are expected to implement a "call" method in your component. This is where all the work gets done. It receives the PSGI $env hash-ref as an argument and is expected to return a proper PSGI response value.
METHODS
- new (%opts | \%opts)
- The constructor accepts either a hash or a hash-ref and uses that to create the instance with. It will call no other methods and simply return the instance that is created.
- prepare_app
- This method is called by "to_app" and is meant as a hook to be used to prepare your component before it is packaged as a PSGI $app.
- to_app
- This is the method used in several parts of the Plack infrastructure to convert your component into a PSGI $app. You should not ever need to override this method, it is recommended to use "prepare_app" and "call" instead.
BACKWARDS COMPATIBILITY
The Plack::Middleware module used to inherit from Class::Accessor::Fast, which has been removed in favor of the Plack::Util::Accessor module. When developing new components it is recommended to use Plack::Util::Accessor like so:use Plack::Util::Accessor qw( foo bar baz );
However, in order to keep backwards compatibility this module provides a "mk_accessors" method similar to Class::Accessor::Fast. New code should not use this and use Plack::Util::Accessor instead.
SEE ALSO
Plack Plack::Builder Plack::MiddlewareContenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre