NAME
Plack::App::Cascade - Cascadable compound application
SYNOPSIS
use Plack::App::Cascade;
use Plack::App::URLMap;
use Plack::App::File;
# Serve static files from multiple search paths
my $cascade = Plack::App::Cascade->new;
$cascade->add( Plack::App::File->new(root => "/www/example.com/foo")->to_app );
$cascade->add( Plack::App::File->new(root => "/www/example.com/bar")->to_app );
my $app = Plack::App::URLMap->new;
$app->map("/static", $cascade);
$app->to_app;
DESCRIPTION
Plack::App::Cascade is a Plack middleware component that compounds several apps and tries them to return the first response that is not 404.
Note that this application doesn't support psgi.streaming interface.
METHODS
- new
-
$app = Plack::App::Cascade->new(apps => [ $app1, $app2 ]);
Creates a new Cascade application.
- add
-
$app->add($app1); $app->add($app2, $app3);
Appends a new application to the list of apps to try. You can pass the multiple apps to the one
add
call. - catch
-
$app->catch([ 403, 404 ]);
Sets which error codes to catch and process onwards. Defaults to
404
.
AUTHOR
Tatsuhiko Miyagawa
SEE ALSO
Plack::App::URLMap Rack::Cascade