2015-10-09 r7kamura/cycle-fetcher-driver をためした
r7kamura/cycle-fetcher-driver
Cycle.js の HTTP request のための driver である r7kamura/cycle-fetcher-driver をためした。標準の HTTP driver である @cycle/http (cyclejs/cycle-http-driver) がなぜか Chrome で動かないので (CORS が原因なのだけどブラウザ間の差異が理解できない) 、代わりに試した次第。
それぞれの HTTP client としては cyclejs/cycle-http-driver が visionmedia/superagent を r7kamura/cycle-fetcher-driver が r7kamura/stackable-fetcher を使っている。
visionmedia/superagent は request/request を使う前によく使っていたもので、このブログでは名前だけだけど 2013-09-25 や 2013-10-06 に登場している。Node.js ではメジャーな HTTP client だ。
r7kamura/stackable-fetcher は使ったことがないのだけど A middleware-based HTTP client library. の description の通り middleware で拡張できるようになっているっぽい。query_string と form との使い分けがない (parametersにまとめられている) けど大丈夫なのかな。
現状ではそこまでのこだわりはない。
わがままを言えば method を含めて object をひとつだけとって Promise を返してくれるシグネチャがうれしい。
request({ url, method, headers, body })
.then(({ status, body, headers }) => {
console.log(body);
});
ものによっては stream のほうが都合が良いのだろうけど、そういう挙動が必要になるケースが少ないので……。