NSData
連結された複数のHTTP応答または要求で構成されるオブジェクトがあります。このリクエスト/レスポンスのストリームを個々のCFHTTPMessageRef
オブジェクトにトークン化する最も効果的な方法は何ですか?
CFHTTPMessageIsHeaderComplete
私の現在のアプローチは、が返されるまで一度に1行ずつデータを読み取ることです。YES
その時点で、ヘッダーの値を取得してContent-Length
、この特定のリクエストに関連付けられた本文の長さを決定します。
このアプローチはかなりうまく機能しますが、チャンク転送エンコーディングの場合は失敗します。チャンク転送を処理するロジックを追加できるようになりましたが、解析ロジックは思った以上に大きくなります。同様に、私は現在、整形式のメッセージのみを扱っています。メッセージが完全にフォーマットされていない場合、メッセージはトリップします。
データのストリームを個別のHTTPメッセージに解析できるObjective-Cクラスのセットが(理想的には)ありますか?これlibcurl
は実行できるものですか?