Emacsには簡易サーバーを起動する拡張がある。 ここでいう簡易サーバーとはEmacsをデーモンモードで動作させるというものではなく、 HTTPのリクエストを受けとるためのウェブアプリケーションフレームワークのようなものだ。 実際に製品として使用するほどの機能はなく、Emacs自身にもその能力はない。 ではどこで役に立つのかというと、HTTPリクエストを試験的に受けとる時に使える。
Emacsはその瞬間にあらゆる挙動を動的に変更可能なので、 レスポンスの形式を即座に変更したりする必要はない。
(require 'elnode)
(setq testing nil)
(defun our-http-handler (httpcon)
(setq testing httpcon)
(message "OK")
(elnode-http-start httpcon 200 '("Content-type" . "text/plain"))
(elnode-http-return httpcon "OK"))
(elnode-start 'our-http-handler :port 8000 :host "localhost")
残念なことに本家は2015年に開発が停止している。もはやほとんど誰も使用していないのかもしれない。 でも私は使っている。