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') {
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] ]
}
}
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;