Hunchentoot メモ(2)
Hunchentoot が受け取ったHTTP リクエストの中身を見ることにします。list-request-dispacher を簡単に置き換えるだけで十分でした。
TBNL> (defvar *my-slime-output* *standard-output*) *MY-SLIME-OUTPUT* TBNL> (defun my-request-dispatcher (request) (describe request *my-slime-output*) (list-request-dispatcher request)) TBNL> (setf (acceptor-request-dispatcher *my-server*) 'my-request-dispatcher) MY-REQUEST-DISPATCHER
こうしておいて、 Web ブラウザなどでHTTPリクエストを発行すると request インスタンスが SLIME の REPL に表示されました。request を大域変数に束縛しておくこともできます。
なお、 cl-webdav(http://weitz.de/cl-webdav/), clack(http://e-arrows.sakura.ne.jp/2011/02/revenge-of-lisp-in-web-by-clack.html) は、dispatcher を拡張して利用していました。