Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

plack::app::file(3pm) [debian man page]

Plack::App::File(3pm)					User Contributed Perl Documentation				     Plack::App::File(3pm)

NAME
Plack::App::File - Serve static files from root directory SYNOPSIS
use Plack::App::File; my $app = Plack::App::File->new(root => "/path/to/htdocs")->to_app; # Or map the path to a specific file use Plack::Builder; builder { mount "/favicon.ico" => Plack::App::File->new(file => '/path/to/favicon.ico'); }; DESCRIPTION
This is a static file server PSGI application, and internally used by Plack::Middleware::Static. This application serves file from document root if the path matches with the local file. Use Plack::App::Directory if you want to list files in the directory as well. CONFIGURATION
root Document root directory. Defaults to "." (current directory) file The file path to create responses from. Optional. If it's set the application would ALWAYS create a response out of the file and there will be no security check etc. (hence fast). If it's not set, the application uses "root" to find the matching file. encoding Set the file encoding for text files. Defaults to "utf-8". content_type Set the file content type. If not set Plack::MIME will try to detect it based on the file extension or fall back to "text/plain". AUTHOR
Tatsuhiko Miyagawa SEE ALSO
Plack::Middleware::Static Plack::App::Directory perl v5.14.2 2014-10-09 Plack::App::File(3pm)

Check Out this Related Man Page

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

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 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. 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 2011-06-22 Plack::Component(3pm)
Man Page