Hatena::ブログ(Diary)

make world

2008-03-17

open-uri に post メソッドを使えるようにパッチを当てる

参考にしたのは、下記のサイト。

kitajさんの記事で知ったopen-uri-post.rbが素敵です。

ちょっとコードを足せば機能を補充できる動的言語ならではの解決策。

でも、RESTなWeb APIをペシペシ叩きたくなって、PUTやらDELETEやらHEADやらをサポートしようと改造したりしてみたのですが、調べているうちに素敵なパッチ発見。

これをopen-uri.rbに適用してみたら、open-uriHTTPのリクエストメソッドが全て使えるようになりました。

やむにやまれず:open-uriは便利だがGETしかできないので何とかする話

パッチをどのように当てたのか忘れないように、記録をしておく。

% cd ~
% wget http://rubyforge.org/tracker/download.php/426/1700/6321/890/diff-1.8
--2008-03-17 23:24:58--  http://rubyforge.org/tracker/download.php/426/1700/6321/890/diff-1.8
rubyforge.org をDNSに問いあわせています... 205.234.109.19
rubyforge.org|205.234.109.19|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 2052 (2.0K) [application/octet-stream]
`diff-1.8' に保存中

100%[========================================================================================================>] 2,052       --.-K/s 時間 0s     

2008-03-17 23:24:59 (103 MB/s) - `diff-1.8' へ保存完了 [2052/2052]

% cd /opt/local/lib/ruby/1.8/
% sudo patch open-uri.rb ~/diff-1.8 
Password:
patching file open-uri.rb

元に戻したくなったら、バックアップされたopen-uri.rb.origがあると思うので、そいつでopen-uri.rbを上書きするなどしてみてください。

と書かれていたが、オリジナルの open-uri.rb.orig は見つからなかった。きちんとバックアップをとるべきだったと反省。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/littlebuddha/20080317/1205766170