マルチパート フォーム データの解析を Web サーバー モジュールに統合して、バックエンド Web アプリケーション (動的言語で記述されることが多い) をマルチパート データ自体の解析から解放できるようにすることを考えています。マルチパート文法 (RFC 2046) は自明ではないように見えます。手作業で実装すると、多くのことがうまくいかない可能性があります。C または C++ で記述された、優れた軽量の multipart/form-data パーサーは既にありますか? C または C++ 標準ライブラリ以外に外部依存関係がないものを探しています。電子メールの添付ファイルの処理、バッファリングされた I/O クラス、ポータビリティ ランタイムなどは必要なく、マルチパート/フォーム データの解析だけが必要です。
私が検討したこと:
- GMime - glib に依存しているため、使用できません。
- libapreq - 大きすぎる、APR に依存、文書化が不十分、単体テストなし。
Ragel を使用してパーサーを作成することも検討しましたが、文法が静的ではないため、その方法がわかりません。境界は任意に変更できます。