我正在使用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实际上是在某个级别接收我的请求(如果是,为什么忽略它?),或curl
是否未发送任何内容?