AtomPub ClientでHTTP ResponseHeaderも利用する
WEB+DB PRESS vol.43
WEB+DB PRESSに「RESTレシピ クールなWebシステムへの道しるべ」という連載があって,vol.43は「同時実行制御」というお話でした.内容は条件付きリクエストというHTTP1.1標準機能をいかに活用するかってことなんですが,これを実装するには,AtomPubクライアントがHTTPヘッダを読み書きする必要があります.書く方は前回の日記で書いたようにbeforeSend Eventが使えましたが,読む方はどうするのか,調べてみました.
ResponseHeaderを読む
"workspace title"を取得するコードで試してみました.ヘッダを全部取得するならこんなコードになります.
$.ajax({ type: "GET", url: "myservice", success: function(xml){console.log($($("title",$(xml))[0]).text())}, complete: function(xhr){console.log(xhr.getAllResponseHeaders())}, });
ある特定のヘッダだけ取得するんならこんな感じでした.
$.ajax({ type: "GET", url: "myservice", success: function(xml){console.log($($("title",$(xml))[0]).text())}, complete: function(xhr){console.log(xhr.getResponseHeader('Content-Type'))}, });
このコードでは"Content-Type"ヘッダを取得しています.success Eventの中で取得してもいいのですが,"304 Not Modified"が返って来た時にsuccess Eventで処理しているのかよくわからないので,complete Eventを使っています.
さて次は,
第2回 写真付きブログサーバを作ってWindows Live Writerで書いてみる:PerlでAtomPubサーバを作ろう!|gihyo.jp … 技術評論社用のクライアントを書いてみるかな.