http://search.cpan.org/~miyagawa/Plack-Middleware-Session-0.11/lib/Plack/Middleware/Session.pm
SYNOPSISには下記のようなコードが紹介されています。
use Plack::Builder; my $app = sub { my $env = shift; my $session = $env->{'psgix.session'}; return [ 200, [ 'Content-Type' => 'text/plain' ], [ "Hello, you've been here for ", $session->{counter}++, "th time!" ], ]; }; builder { enable 'Session'; $app; };
これを「session.psgi」で保存して、「plackup session.psgi」で起動します。
「http://localhost:5000」
でアクセスすると下記のような画面が表示されます。
セッションしているので、更新する毎に数値が1ずつインクリメントされます。
と、思ったのですが、カウンタが2ずつインクリメントされてしまいます。
なんでだろ〜、と思って、サーバの吐き出すメッセージを見ていたら、
「favicon.ico」をリクエストしているのに気がつきました。
このリクエストのときもインクリメント処理が走ってしまっていたのですね。