Plack::App::File(3) Serve static files from root directory


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')->to_app;


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.


Document root directory. Defaults to "." (current directory)
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.

Set the file encoding for text files. Defaults to "utf-8".
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". Can be set to a callback which should work on $_[0] to check full path file name.


Tatsuhiko Miyagawa