RESTfull な I/F を持つストレージを作った
yaws 調査の為、試しに RESTfull な I/F を持つストレージを作ってみたので晒してみる。
インストール
% svn co http://labs.miu.vc/svn/cooldaemon/erl/ssd/trunk/ ssd % cd ssd % make
make を実行する前に、Makefile 内の yaws のインストール先を編集する必要がある。
起動
% ssd/scripts/ssd start -n test@localhost -p 8080 -t ram
-n | erlang node の名前 |
-p | yaws が listen するポート番号 |
-t | ストレージがコンテンツを保存する場所(ram or disc) |
停止
% ssd/scripts/ssd stop -n test@localhost
使い方
METHOD | 説明 |
GET | コンテンツの取得 |
HEAD | コンテンツの存在確認や、サイズ、MIME タイプの取得 |
PUT | コンテンツの保存(非同期) |
DELETE | コンテンツの削除(非同期) |
詳細は、perl で作ったクライアントのサンプルを参照の事。
テキスト以外に画像をアップロードできる事を確認済み。
その他
もし自分で使う機会があれば、下記を修正してから使いたい
- Mnesia にはコンテンツの保存先とメタデータのみ記録し、コンテンツは別の何かに保存する
- クライアントから指定されたヘッダを保持する(現在は、Content-Type と Content-Length のみ保持)
- yaws を止める(w;