trait PlayBodyParsers extends BodyParserUtils
Body parsers officially supported by Play (i.e. built-in to Play)
- Source
- BodyParsers.scala
- Alphabetic
- By Inheritance
- PlayBodyParsers
- BodyParserUtils
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
DefaultMaxDiskLength: Long
Default max length allowed for disk based body.
Default max length allowed for disk based body.
You can configure it in application.conf:
play.http.parser.maxDiskBuffer = 512k
-
def
DefaultMaxTextLength: Long
Default max length allowed for text based body.
Default max length allowed for text based body.
You can configure it in application.conf:
play.http.parser.maxMemoryBuffer = 512k
-
val
UNLIMITED: Long
Unlimited size.
-
def
anyContent(maxLength: Option[Long]): BodyParser[AnyContent]
Guess the body content by checking the Content-Type header.
-
def
anyContent: BodyParser[AnyContent]
Guess the body content by checking the Content-Type header.
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
byteString: BodyParser[ByteString]
Buffer the body as a simple akka.util.ByteString.
Buffer the body as a simple akka.util.ByteString.
Will buffer up to the configured max memory buffer amount, after which point, it will return an EntityTooLarge HTTP response.
-
def
byteString(maxLength: Long): BodyParser[ByteString]
Buffer the body as a simple akka.util.ByteString.
Buffer the body as a simple akka.util.ByteString.
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response.
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
createBadResult(msg: String, statusCode: Int = BAD_REQUEST): (RequestHeader) ⇒ Future[Result]
- Attributes
- protected
-
def
default(maxLength: Option[Long]): BodyParser[AnyContent]
If the request has a body, parse the body content by checking the Content-Type header.
-
def
default: BodyParser[AnyContent]
If the request has a body, parse the body content by checking the Content-Type header.
- def defaultBodyParser: BodyParser[AnyContent]
-
def
empty: BodyParser[Unit]
Don't parse the body content.
Don't parse the body content.
- Definition Classes
- BodyParserUtils
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
error[A](result: Future[Result]): BodyParser[A]
A body parser that always returns an error.
A body parser that always returns an error.
- Definition Classes
- BodyParserUtils
-
def
file(to: File): BodyParser[File]
Store the body content into a file.
Store the body content into a file.
- to
The file used to store the content.
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
flatten[A](underlying: Future[BodyParser[A]])(implicit ec: ExecutionContext, mat: Materializer): BodyParser[A]
A body parser that flattens a future BodyParser.
A body parser that flattens a future BodyParser.
- Definition Classes
- BodyParserUtils
-
def
form[A](form: Form[A], maxLength: Option[Long] = None, onErrors: (Form[A]) ⇒ Result = (_: Form[A]) => Results.BadRequest): BodyParser[A]
Parse the body and binds it to a given form model.
Parse the body and binds it to a given form model.
case class User(name: String) val userForm: Form[User] = Form(mapping("name" -> nonEmptyText)(User.apply)(User.unapply)) Action(parse.form(userForm)) { request => Ok(s"Hello, ${request.body.name}!") }
- form
Form model
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response. If
None
, the defaultplay.http.parser.maxMemoryBuffer
configuration value is used.- onErrors
The result to reply in case of errors during the form binding process
-
def
formUrlEncoded: BodyParser[Map[String, Seq[String]]]
Parse the body as form url encoded if the Content-Type is application/x-www-form-urlencoded.
-
def
formUrlEncoded(maxLength: Long): BodyParser[Map[String, Seq[String]]]
Parse the body as form url encoded if the Content-Type is application/x-www-form-urlencoded.
Parse the body as form url encoded if the Content-Type is application/x-www-form-urlencoded.
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
ignore[A](body: A): BodyParser[A]
- Definition Classes
- BodyParserUtils
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
json[A](implicit reader: Reads[A]): BodyParser[A]
Parse the body as Json if the Content-Type is text/json or application/json, validating the result with the Json reader.
Parse the body as Json if the Content-Type is text/json or application/json, validating the result with the Json reader.
- A
the type to read and validate from the body.
- reader
a Json reader for type A.
-
def
json: BodyParser[JsValue]
Parse the body as Json if the Content-Type is text/json or application/json.
-
def
json(maxLength: Long): BodyParser[JsValue]
Parse the body as Json if the Content-Type is text/json or application/json.
Parse the body as Json if the Content-Type is text/json or application/json.
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response.
-
def
maxLength[A](maxLength: Long, parser: BodyParser[A])(implicit mat: Materializer): BodyParser[Either[MaxSizeExceeded, A]]
Wrap an existing BodyParser with a maxLength constraints.
Wrap an existing BodyParser with a maxLength constraints.
- maxLength
The max length allowed
- parser
The BodyParser to wrap
- Definition Classes
- BodyParserUtils
-
def
multipartFormData[A](filePartHandler: FilePartHandler[A], maxLength: Long = DefaultMaxDiskLength): BodyParser[MultipartFormData[A]]
Parse the content as multipart/form-data
Parse the content as multipart/form-data
- filePartHandler
Handles file parts.
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response.
-
def
multipartFormData(maxLength: Long): BodyParser[MultipartFormData[TemporaryFile]]
Parse the content as multipart/form-data
Parse the content as multipart/form-data
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response.
-
def
multipartFormData: BodyParser[MultipartFormData[TemporaryFile]]
Parse the content as multipart/form-data
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
raw: BodyParser[RawBuffer]
Store the body content in a RawBuffer.
-
def
raw(memoryThreshold: Long = DefaultMaxTextLength, maxLength: Long = DefaultMaxDiskLength): BodyParser[RawBuffer]
Store the body content in a RawBuffer.
Store the body content in a RawBuffer.
- memoryThreshold
If the content size is bigger than this limit, the content is stored as file.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
temporaryFile: BodyParser[TemporaryFile]
Store the body content into a temporary file.
-
def
text: BodyParser[String]
Parse the body as text if the Content-Type is text/plain.
-
def
text(maxLength: Long): BodyParser[String]
Parse the body as text if the Content-Type is text/plain.
Parse the body as text if the Content-Type is text/plain.
If the charset is not explicitly declared, then the default "charset" parameter value is US-ASCII, per https://tools.ietf.org/html/rfc6657#section-4. Use tolerantText if more flexible character decoding is desired.
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response.
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
tolerantBodyParser[A](name: String, maxLength: Long, errorMessage: String)(parser: (RequestHeader, ByteString) ⇒ A): BodyParser[A]
Create a body parser that uses the given parser and enforces the given max length.
Create a body parser that uses the given parser and enforces the given max length.
- name
The name of the body parser.
- maxLength
The maximum length of the body to buffer.
- errorMessage
The error message to prepend to the exception message if an error was encountered.
- parser
The parser.
- Attributes
- protected
-
def
tolerantFormUrlEncoded: BodyParser[Map[String, Seq[String]]]
Parse the body as form url encoded without checking the Content-Type.
-
def
tolerantFormUrlEncoded(maxLength: Long): BodyParser[Map[String, Seq[String]]]
Parse the body as Form url encoded without checking the Content-Type.
Parse the body as Form url encoded without checking the Content-Type.
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response.
-
def
tolerantJson[A](implicit reader: Reads[A]): BodyParser[A]
Parse the body as Json without checking the Content-Type, validating the result with the Json reader.
Parse the body as Json without checking the Content-Type, validating the result with the Json reader.
- A
the type to read and validate from the body.
- reader
a Json reader for type A.
-
def
tolerantJson: BodyParser[JsValue]
Parse the body as Json without checking the Content-Type.
-
def
tolerantJson(maxLength: Long): BodyParser[JsValue]
Parse the body as Json without checking the Content-Type.
Parse the body as Json without checking the Content-Type.
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response.
-
def
tolerantText: BodyParser[String]
Parse the body as text without checking the Content-Type.
-
def
tolerantText(maxLength: Long): BodyParser[String]
Parses the body as text without checking the Content-Type.
Parses the body as text without checking the Content-Type.
Will attempt to parse content with an explicit charset, but will fallback to UTF-8, ISO-8859-1, and finally US-ASCII if incorrect characters are detected.
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response.
-
def
tolerantXml: BodyParser[NodeSeq]
Parse the body as Xml without checking the Content-Type.
-
def
tolerantXml(maxLength: Long): BodyParser[NodeSeq]
Parse the body as Xml without checking the Content-Type.
Parse the body as Xml without checking the Content-Type.
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response.
-
def
using[A](f: (RequestHeader) ⇒ BodyParser[A]): BodyParser[A]
Allows to choose the right BodyParser parser to use by examining the request headers.
Allows to choose the right BodyParser parser to use by examining the request headers.
- Definition Classes
- BodyParserUtils
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
when[A](predicate: (RequestHeader) ⇒ Boolean, parser: BodyParser[A], badResult: (RequestHeader) ⇒ Future[Result]): BodyParser[A]
Creates a conditional BodyParser.
Creates a conditional BodyParser.
- Definition Classes
- BodyParserUtils
-
def
xml: BodyParser[NodeSeq]
Parse the body as Xml if the Content-Type is application/xml, text/xml or application/XXX+xml.
-
def
xml(maxLength: Long): BodyParser[NodeSeq]
Parse the body as Xml if the Content-Type is application/xml, text/xml or application/XXX+xml.
Parse the body as Xml if the Content-Type is application/xml, text/xml or application/XXX+xml.
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response.