盗聴
if ( defined $fh ) { binmode $fh; $c->res->body( $fh ); }
マリカー
発送メールきた。
うおー
text-align: justify;
きもいよう。
flavour on Catalyst
URLパスの一番最初を Blosxom でいう flavour のように使ってみるという試み。
sub prepare_action {
my $c = shift;
if ( my $path = $c->req->path ) {
my ($flavour) = $path =~ m!^([^/]+)!;
if ( $flavour !~ /^(search|tag|\d{4})$/ ) {
$c->stash->{flavour} = $flavour;
$c->stash->{_path} = $c->req->path;
$path =~ s!^$flavour/+!!;
$c->req->path( $path );
}
}
$c->NEXT::prepare_action(@_);
$c->req->path( delete $c->stash->{_path} ) if $c->stash->{_path};
$c->stash->{flavour} ||= $c->config->{default_flavour} || 'html';
}
こんな感じ?
これで、パスが search, tag, 2005 とか以外は flavour としてあつかわれて、
/flavour/tag/clon
とかでも /tag/clon と同じコントローラが呼ばれる。わかりにく!
Blosxom は index.flavour とか拡張子で切り分けてたけど、なんか変な flavour 作ると URL がダサいので。
でもこっちはコントローラで使ってる文字を使えないというのもあるし。