Plack::Component man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

Plack::Component(3)   User Contributed Perl Documentation  Plack::Component(3)

NAME
       Plack::Component - Base class for PSGI endpoints

SYNOPSIS
	 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 hashref and uses that to
	   create the instance. 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.

       response_cb
	   This is a wrapper for "response_cb" in Plack::Util. See "RESPONSE
	   CALLBACK" in Plack::Middleware for details.

OBJECT LIFECYCLE
       Objects for the derived classes (Plack::App::* or Plack::Middleware::*)
       are created at the PSGI application compile phase using "new",
       "prepare_app" and "to_app", and the created object persists during the
       web server lifecycle, unless it is running on the non-persistent
       environment like CGI. "call" is invoked against the same object
       whenever a new request comes in.

       You can check if it is running in a persistent environment by checking
       "psgi.run_once" key in the $env being true (non-persistent) or false
       (persistent), but it is best for you to write your middleware safely
       for a persistent environment. To accomplish that, you should avoid
       saving per-request data like $env in your object.

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::Middleware

perl v5.14.2			  2012-08-13		   Plack::Component(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net