Это я пытаюсь перенести мой текущий сайт Apache/Modperl в Starman, и мне нужно собрать app.psgi с разными обработчиками для разных расширений файлов. Что-то вроде в апаче:
<LocationMatch "(\.m|\.mh|\/)$">
SetHandler perl-script
PerlHandler MyApp::Mhandler
</LocationMatch>
<LocationMatch "(\.p|\.ph)$">
SetHandler perl-script
PerlHandler MyApp::Phandler
</LocationMatch>
Сейчас у меня есть:
#app for handle .m and .mh
my $Mapp = Some::PSGI->handler( sub {
...
});
#app for handling .p and .ph
my $Papp = SomeOther::PSGI->handler( sub {
...
});
а как пользоваться билдером?
builder {
#any extension what is not .m .mh .p .ph - handle as static
#but, only when the request have any extension
enable "Plack::Middleware::Static",
path => __what here__, ???
root => "/my/doc/root";
#and what here to achieve the following "rules".
#??? $Papp
#default $Mapp
};
Нужны "правила":
$Mapp
.m
и .mh
должны обрабатываться $Mapp
.p
и .ph
должны обрабатываться $Papp
Конечно, будет намного проще поместить каждый статический файл в какое-то дерево, но текущее приложение данои теперь я хочу только перенести его в Startman, рефакторинг - позже.