2017-06-06 60 views

回答

0

this answer描述,您可以檢查Content-Length頭:

request.headers.get(play.api.http.HeaderNames.CONTENT_LENGTH) 

檢查它是否大於1 MB,並返回你想要的任何一種反應。正如其他答案所指出的那樣,413負載最好太大。

1

當使用身體解析器,你可以指定maxLength:CF api

val maxSize = 1024 * 1024 // 1 MB 
def jsonAction = Action(parse.json(maxSize)) { request => 
    val json = request.body 
    ... 
} 

如果要發送自定義HTTP錯誤,你可以擴展默認的HTTP錯誤處理程序。參見documentation

override def onOtherClientError(request: RequestHeader, statusCode: Int, message: String): Future[Result] = { 
    if (statusCode == Status.REQUEST_ENTITY_TOO_LARGE) { 
    Future.successful(Results.EntityTooLarge(Json.obj("error" -> "too large"))) 
    } else { 
    super.onOtherClientError(request, statusCode, message) 
    } 
} 
相關問題