TL;DR add parsers.text.maxLength = 512k
or whatever size to your application.conf
Update: Found in the official documentation
It's actually documented in the API, although it took some digging to actually find it.
Expanding DEFAULT_MAX_TEXT_LENGTH shows that the max size for text data is configurable by setting parsers.text.maxLength
in application.conf
. Looking in the source itself, the default is 100Kb so this is most likely what you need to set.
On a somewhat related note, we also have the maxLength
method which can be used for any BodyParser, which implies for non-text data, there is no upper limit unless you apply that method. In fact, we can apply it to the AnyContent parser like so:
def foo = Action(parse.maxLength(512 * 1024, parser = parse.anyContent)) { implicit req =>
req.body match {
case Left(_) => EntityTooLarge
case Right(body) => Ok("This is totally not too large")
}
}