NAME

Plack::App::Vhost - Simple virtual host implementation on Plack.

SYNOPSIS

use Plack::App::Vhost;

Plack::App::Vhost->new(
   vhosts => [
      qr/^foo-mode\.my-app/ => $foo_app,
      qr/^bar-mode\.my-app/ => $bar_app,
   ],
   fallback => sub {
       my $env = shift;
       open my $fh, '<', 'path/to/404.html';
       return [404, ['Content-Type' => 'text/html', 'Content-Length' => -s $fh], [$fh]];
   },
)->to_app;

DESCRIPTION

Plack::App::Vhost is virtual host implementation on Plack.

METHODS

my $vhost = Plack::App::Vhost->new(\%args)

Creates a new Plack::App::Vhost instance. Arguments can be:

  • vhosts

    Specify regex and PSGI application pairs in order of preference. If HTTP_HOST matches to the regexp, Executes PSGI application of the pair.

  • fallback

    Specify fallback PSGI application. If HTTP_HOST does not match to any regexp, Executes fallback PSGI application.

$vhost->to_app()

Creates as a PSGI application.

SEE ALSO

Plack::App::HostMap

LICENSE

Copyright (C) karupanerura.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

karupanerura <karupa@cpan.org>