curl
大きなテキスト ファイルを Play 2.0 フレームワーク サーバーに投稿するために使用しています。プレイ中の私のハンドラーは、基本的に次のようになります。
def receive = Action { implicit request =>
request.body.asText match {
case Some(body) =>
body.split("\n") foreach doSomething
Ok("Imported some lines!\n")
case None => Ok("Please post some data!\n")
}
}
でテストしていcurl
ます。
curl -H "Content-Type: text/plain" --data-binary "@upload.txt" http://localhost:9000/receive
これは小さなファイルでうまく機能します。テキストがない場合は、「データを投稿してください!」というメッセージが表示されます。が例外をスローした場合doSomething
、Play はそれを私に送り返します。100 行を送信すると、正常に動作し、「いくつかの行がインポートされました!」と表示されます。ただし、500 行を送信すると、どちらのメッセージも受信せず、Play は何もログに記録しません。この場合、何が起こっているのでしょうか? Play は実際に私のリクエストを何らかのレベルで受け取っているのでしょうか (もしそうなら、なぜそれを無視するのでしょうか?)、それともcurl
何かを送信できていないのでしょうか?