kiyoka.2014_07_16 RSSPLAIN

Related pages: !kiyoka.blog !kiyoka.blog.list !kiyoka.blog.2014_07
5555555555555555555555555555
5

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

5
 iStock_000016378483XSmall
5

Emacsも年々進化していることだし、もうそろそろcurlコマンドを使わなくてもEmacsだけでHTTP通信できるのでは?と思ってチャレンジしてみた。

5

今回はあきらめたのだが、理由を忘れそうなのでここにメモしておく。

5

gibthubのSekka作業ブランチは "http_pure_elisp" 。

5
  https://github.com/kiyoka/sekka/tree/http_pure_elisp
5

 

5

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

5

Emacs-24に入っている url.elを使ってsekka-serverにアクセスするも、webrickが400 Bad Requestを返す。

5

url-retrieve-synchronously関数の返却バッファには、200 OKのレスポンスの後ろに、400 Bad Requestのレスポンスがくっついてくるので原因がよくわからない。

5

curlコマンドからWebrickにリクエストした時は発生しないので、url.elのリクエストがRFCに準拠していないのか、Webrickの潜在バグを突いているのか…

5

 

5

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

5

url-retrieve-synchronously関数を実行している間にCtrl-jを押しても効かない。

5

キーイベントがどこかで消費されているのかもしれない。

5

curlコマンドをプロセス起動した場合にはそのような現象は発生しないので、url.elの作りの問題なのかもしれない。

5

url*.elで "discard" や "event"  などで検索したがあやしい処理は見つからず…

5

 

5

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

5

Webrickの代わりに別のRackドライバを探したが、thinくらいしか見つからなかった。

5

thinを使ってみるも、Segmentation Faultで動かず断念。

5

 

5

こんな感じで、あまり時間をかけていないが、一旦断念。

5

また一年後くらいに再チャレンジするかも。

5

ただ、curlが非常に安定していることもあって、EmacsからHTTPリクエストする場合はcurlがデファクトスタンダードになっているようだ。

5

いっそEmacs本家にcurlをリンクしてくれたりいいのにと思うんだけどなぁ。

5

 

5

...comment disabled...