kiyokaのブログアーカイブ

Archive of old blog posts

sekka.elからpure emacsでhttp通信しようするも断念

img Emacsも年々進化していることだし、もうそろそろcurlコマンドを使わなくてもEmacsだけでHTTP通信できるのでは?と思ってチャレンジしてみた。 今回はあきらめたのだが、理由を忘れそうなのでここにメモしておく。 gibthubのSekka作業ブランチは “http_pure_elisp” 。 https://github.com/kiyoka/sekka/tree/http_pure_elisp

url.elのリクエストが不正?な問題

Emacs-24に入っている url.elを使ってsekka-serverにアクセスするも、webrickが400 Bad Requestを返す。 url-retrieve-synchronously関数の返却バッファには、200 OKのレスポンスの後ろに、400 Bad Requestのレスポンスがくっついてくるので原因がよくわからない。 curlコマンドからWebrickにリクエストした時は発生しないので、url.elのリクエストがRFCに準拠していないのか、Webrickの潜在バグを突いているのか…

url.elからのリクエスト中にEmacsのキーイベントが消費される問題

url-retrieve-synchronously関数を実行している間にCtrl-jを押しても効かない。 キーイベントがどこかで消費されているのかもしれない。 curlコマンドをプロセス起動した場合にはそのような現象は発生しないので、url.elの作りの問題なのかもしれない。 url*.elで “discard” や “event” などで検索したがあやしい処理は見つからず…

Webrickの代替が見つからない問題

Webrickの代わりに別のRackドライバを探したが、thinくらいしか見つからなかった。 thinを使ってみるも、Segmentation Faultで動かず断念。

こんな感じで、あまり時間をかけていないが、一旦断念。 また一年後くらいに再チャレンジするかも。 ただ、curlが非常に安定していることもあって、EmacsからHTTPリクエストする場合はcurlがデファクトスタンダードになっているようだ。 いっそEmacs本家にcurlをリンクしてくれたりいいのにと思うんだけどなぁ。