yawsのwebdavサポートの謎
HTTPでファイルサーバにアクセスできるwebdavって便利ですよね。並行指向パラダイム言語のerlangで開発されているWebサーバyawsでもwebdavサポートがされているらしいので、早速試した見たという話。
yaws-1.87でやってみた
ダメですねぇ。マウントできず、話にならない。ということで、いつものようにパッチを作成。これで、Windows XP対応の netdrive.exe であれば普通にwebdavサーバとして振る舞ってくれるはずです。
yaws-1.87-dav.patch
変更点の骨子
- OPTIONS *のサポート(多分意味は無い)
- ファイル書き込みの際、Content-Lengthタイプのバグ修正
- PROPFINDで存在しないファイルの場合500じゃなくて404を返す。
- PROPPATCHでいろいろごにょごにょしたけど成果はゼロ。
- でもWindowsのnetdrive.exeではかなり幸せ。
今の問題点
- MacOSXではリードオンリーボリュームとなる
- まだPROPPATCHをサポートしていない
- もちろんLOCKもサポートしていない(OPTIONSの応答は嘘)
ソースを見るとところどころ、'FIX ME'とあるので作成者は直して欲しいはずだったのに、誰も直してくれなかったのねって感じです。
反響があれば、本家にもフィードバックしますけど、興味ある人いるのだろうか。
あ、反響というのは、パッチのバグ状況という意味でです。