X-Git-Url: http://git.ieval.ro/?a=blobdiff_plain;f=lib%2FPlack%2FApp%2FGruntmaster.pm;h=131b7542bcf99f7ded495590527392bcdf6dff5f;hb=5c6aea9392c11422abe85788aac0f62ad3a4dd14;hp=5530c73dab29dd2eab00d60d715f73e2dfbf3b40;hpb=f34254b8ee796c7b3416d6b6b31886c10fcf62c1;p=plack-app-gruntmaster.git diff --git a/lib/Plack/App/Gruntmaster.pm b/lib/Plack/App/Gruntmaster.pm index 5530c73..131b754 100644 --- a/lib/Plack/App/Gruntmaster.pm +++ b/lib/Plack/App/Gruntmaster.pm @@ -10,6 +10,9 @@ our $VERSION = '5999.000_001'; use File::Slurp qw/read_file/; use HTTP::Negotiate qw/choose/; use Plack::Request; +use Gruntmaster::Page::Log; +use Gruntmaster::Page::Pb::Entry; +use Gruntmaster::Page::Generic; my %handlers; @@ -22,7 +25,7 @@ sub call { my @args; next unless @args = $r->path =~ m/^$re$/a; my $format = choose $obj->variants, $r->headers; - return $obj->generate($format, $env->{'psgix.logger'}, map { $_ // '' } @args); + return $obj->generate($format, $env, map { $_ // '' } @args); } if ($r->method eq 'GET' || $r->method eq 'HEAD') { @@ -35,7 +38,7 @@ sub call { my $content = read_file "a/$article.$lang"; my $title = read_file "a/$article.$lang.title"; my $html = Gruntmaster::Page::Base::header($lang, $title) . $content . Gruntmaster::Page::Base::footer($lang); - return [200, ['Content-Type' => 'text/html', 'Content-Language' => $lang, 'Vary' => 'Accept-Language'], [$html] ] + return [200, ['Content-Type' => 'text/html', 'Content-Language' => $lang, 'Vary' => 'Accept-Language', 'X-Forever' => 1, 'Cache-Control' => 'max-age=300'], [$html] ] } } @@ -58,20 +61,24 @@ BEGIN{ my $word = qr,(\w+),a; my $ct = qr,(?:\/ct/$word)?,a; - get qr,/css/$word, => 'CSS'; - get qr,/js, => 'JS'; + get qr,/css/$word\.css, => 'CSS'; + get qr,/js\.js, => 'JS'; get qr,/ct/, => 'Ct'; - get qr,/ct/$word, => 'Ct::Entry'; + get qr,/ct/$word/, => 'Ct::Entry'; get qr,/us/, => 'Us'; get qr,/us/$word, => 'Us::Entry'; get qr,$ct/log/(\d+)?, => 'Log'; get qr,$ct/log/st, => 'St'; get qr,$ct/log/job/$word, => 'Log::Entry'; - get qr,$ct/submit, => 'Submit'; + get qr,$ct/log/src/$word\.$word, => 'Src'; get qr,$ct/pb/, => 'Pb'; get qr,$ct/pb/$word, => 'Pb::Entry'; + post qr,$ct/pb/$word/submit, => 'Submit'; + + post qr,/action/register, => 'Register'; + post qr,/action/passwd, => 'Passwd'; } 1;