メソッドチェーン型HTTPClientラッパ TiAgent
Christian Sullivan氏 (@euforic) が開発されたjQueryのメソッドチェーンのようにしてHTTPリクエストを投げる事が出来るHTTPClientラッパ TiAgentを公開されています。すべてJavaScriptで書かれたライブラリでコメントやホワイトスペースを除去した圧縮版も合わせてgithubで公開されています。
使い方はReadme.mdに記載されている通りですが、抜粋すると以下の通りです。
// GETリクエストをする典型的なパターン request .get('http://example.com/search') .end(function(res){ }); // QueryString付き request .get('http://example.com/search', { query: 'tobi the ferret' }) .end(function(res){ }); // 重ねるとこういうことも出来る。 request .get('/search') .data({ query: 'Manny' }) .data({ range: '1..5' }) .data({ order: 'desc' }) .end(function(res){ }); // endファンクションを引数にするタイプ request .get('http://example.com/search', function(res){ });
// POSTの例 request .post('/api/pet') .data({ name: 'Manny', species: 'cat' }) .set('X-API-Key', 'foobar') .set('Accept', 'application/json') .end(function(res){ if (res.ok) { alert('yay got ' + JSON.stringify(res.body)); } else { alert('Oh no! error ' + res.text); } });
ResponceオブジェクトにはHTTP Statusに対応するbooleanプロパティが用意されているので、上記例のようにres.okといった条件分岐がしやすくなっています。