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年に開発が停止している。もはやほとんど誰も使用していないのかもしれない。 でも私は使っている。