Clackの導入
ClackのUsageにあるサンプルを入力すると、環境によってはSSLがないと言ってエラーになります。Clackが依存しているHUNCHENTOOTがCL+SSLを要求しているのが原因のようです。
(ただ単に試してみたいだけの人にはOpenSSLを入れて・・・がちょっと面倒に感じます。(特にWindowsで使っていると))
ここでは、SSLを使わない方向でClackを試しに使ってみようと思い、SSLなしで導入しました。HUNCHENTOOTのドキュメントにもあるように、コンパイル前に*features*
へ:HUNCHENTOOT-NO-SSL
を追加しておけば、SSLは要求されません。
CL-USER> (ql:quickload :clack)
To load "clack":
...
CL-USER> *features*
(:FLEXI-STREAMS :CL-FAD ...)
CL-USER> (push :HUNCHENTOOT-NO-SSL *features*)
CL-USER> (defpackage simple-app
(:use :cl
:clack))
#<Package "SIMPLE-APP">
CL-USER> (in-package :simple-app)
#<Package "SIMPLE-APP">
SIMPLE-APP> (defvar *handler*
(clackup
#'(lambda (env)
'(200 (:conent-type "text/plain") ("Hello, Clack!")))))
To load "clack-handler-hunchentoot":
...
Hunchentoot server is started.
Listening on localhost:5000.
*HANDLER*
SIMPLE-APP>
これで http://localhos:5000/ にアクセスすると、「Hello, Clack!」が表示されるようになりました。