The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Plack::Middleware::Recursive - Allows PSGI apps to include or forward requests recursively

SYNOPSIS

  # with Builder
  enable "Recursive";

  # in apps
  my $res = $env->{'plack.recursive.include'}->("/new_path");

  # Or, use exceptions
  my $app = sub {
      # ...
      Plack::Recursive::ForwardRequest->throw("/new_path");
  };

DESCRIPTION

Plack::Middleware::Recursive allows PSGI applications to recursively include or forward requests to other paths. Applications can make use of callbacks stored in $env->{'plack.recursive.include'} to include another path to get the response (whether it's an array ref or a code ref depending on your application), or throw an exception Plack::Recursive::ForwardRequest anywhere in the code to forward the current request (i.e. abort the current and redo the request).

AUTHORS

Tatsuhiko Miyagawa

Masahiro Honma

SEE ALSO

Plack Plack::Middleware::HTTPExceptions

The idea, code and interface are stolen from Rack::Recursive and paste.recursive.