3
私はMochiwebを探していましたが、ソケットを通して要求を受け取っている間に本文を読み取る方法が見つかりません。Erlangで受信したHTTP要求の本文を読み取る
私はMochiwebに限らず、他のHTTPライブラリであればいいです。
私はHTTPリクエストを受信している間にボディ/ヘッダーを読むことができるこの方法で試しましたが、手動でレスポンスを処理し、さらにリクエストを処理する必要があります。溶液。
私の意図は、大きなボディでのリクエストを受け取り、フルボディの受信を待って読み込み/処理を開始することではありません。
これは、定義された要求ハンドラ内で行われなければなりませんか?しかし、リクエスト・ハンドラは、フル・リクエストが受信されたときに呼び出されます。そうではありませんか?私は 'Req:stream_body(...)'がソケットを通して到着している間に本体をどのように読み込むのか分かりません。私は何かに間違っていなければならないが、どこを知らない。 – Ricardo
要求ハンドラは、ヘッダーが読み込まれるとすぐに、かなり早く呼び出されます。ハンドラの中で 'Req:recv_body/0'を使って完全なリクエストを受け取るか、' Req:stream_body/3'を使ってリクエストすることができます。 'stream_body'の実装は、ソケットからチャンクでデータを読み込んでチャンクハンドラ関数に渡します。私を信じて、それは動作します! –
OK、それは意味があります。あなたの助けを借りてフェリックスに感謝します。 – Ricardo