XML-RPC

というわけで ( http://d.hatena.ne.jp/janus_wel/20080915/1221492867 ) XML-RPC ( http://ja.wikipedia.org/wiki/XML-RPC ) を自分で実装してみた。つーても http://d.hatena.ne.jp/m4i/20051213/1134425307 で公開されてるはてなブックマーク API をたたくものを元に自分なりに写経しただけなんだけど。もとのソースでは Perl の XMLRPC::Lite 風な定義なんだけど javascript だからとわけのわかんない理由で GM_xmlhttpRequest ぽくメソッドを定義してみた。

http://www012.upp.so-net.ne.jp/legio/distribute/XMLRPC.js

つーてもまだ渡せるパラメータは String だけなんだけどなー。ここらへん厳密にやろうとするとたぶんハマるので必要になるまで放置予定。以下のような感じで呼び出す。つなげすぎかな ? 注意すべきは chunkSize だと思うけどこれは一回に送るデータの数 ( not サイズ ) の指定で 10 なら member を 10 個ずつ送信するよ、ということ。とりあえずこれを使って作ったものは明日公開するよていなので以下のソースだけじゃわからんてひとは明日をまつと幸せになれるかもしれない。

var callback = function(response) {
    alert(response);
    // processing...
};

var xmlrpc = new XMLRPC().chunkSize(chunkSizeMax)
                         .url(endPoint)
                         .method('bookmark.getCount')
                         .data(urls)
                         .onload(callback)
                         .send();

とりあえず XML-RPCE4X の存在を知れた + 実際に触れたのでとても勉強になった感じ。