Plackでの500ページ表示
最終更新日 : 2011-04-10 10:03:41
Plackを利用して、エラーページ(500) を表示する際には、Plack::Middleware::ErrorDocument を利用すればよい。ただし、このミドルウエアーは正常なデータレスポンスを500のコード等で返した際にのみ実行されるので、アプリケーション側で例外的なエラーが発生した場合には拾ってくれない。そういったケースの場合は、Plack::Middleware::HTTPExceptions と併用して利用すれば、例外エラーを正常な500コードのレスポンスに変換してくれるのでうまくいく。
この際に気をつけなければならないのは順番で、HTTPExceptionsを $appに近い側で呼ばなければならない。
builder { enable "ErrorDocument", 500 => '/uri/errors/500.html', 404 => '/uri/errors/404.html', subrequest => 1; enable "HTTPExceptions"; $app; };
この際に気をつけなければならないのは順番で、HTTPExceptionsを $appに近い側で呼ばなければならない。