Common LispのWebフレームワークであるCaveman 2で遊んでいる. 今日は,リクエストの前後に処理を挿入し,レスポンスヘッダをいじったりしてみるお話. ある程度Common Lispが分かりますよ,というくらいのレベル感です.僕のレベルは,マクロが書けてうれしいね,とかいうレベルです. 全てのエンドポイントで,リクエストハンドラを処理する前・後ろに一定の共通処理を行いたい,というのは実によくある話だ.例えば認証処理を行いたければリクエストハンドラに到達する前に処理を行う必要があるし,ベンチマークのための特別なヘッダを付与するためにリクエストハンドラを通った後で処理を行いたいこともある.こういった処理は頻繁に使われるが,それらがいかに実現されているかについて運用開始後に知る機会はあまりないのが現状だ. 最近Caveman 2で自分用のアプリケーションを開発していて,そこで1か