HTML や XML なんかのケツにコメントとしてテキストを埋め込む Plack::Middleware を作ってみた。
https://github.com/ziguzagu/Plack-Middleware-Watermark
やってることといえば、content type を見て適当なコメントシンタックスを選んで、指定された文字列を追加するだけのお仕事。
use Plack::Builder;
my $app = sub {
[ 200, [ 'Content-Type' => 'text/html' ], [ "Hello World\n" ] ]
};
builder {
enable 'Watermark', comment => 'HELLO HELLO!!';
$app;
}
こうすると、
Hello World
<!-- HELLO HELLO!! -->
こういう出力になる。サブルーチンも渡せたりするので、
builder {
enable 'Watermark', comment => sub { 'Generated by ' . Sys::Hostname::hostname };
$app;
}
とかってのもできたり。HTML/CSS/XML/JS な Content-Type にとりあえず対応してる感じ。
でもまぁ、あんまり使い道はないですね :) ただ Plack & Plack::Middleware の勉強にはもろもろちょうど良かったです。まる。