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
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- 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: AnyRef): 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 = (formErrors: 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[_ <: AnyRef]
- 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: 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- 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.
Deprecated Value Members
- def urlFormEncoded: BodyParser[Map[String, Seq[String]]]
- Annotations
- @deprecated
- Deprecated
(Since version 2.6.0) Use formUrlEncoded
- def urlFormEncoded(maxLength: Long): BodyParser[Map[String, Seq[String]]]
- Annotations
- @deprecated
- Deprecated
(Since version 2.6.0) Use formUrlEncoded