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
- Protected
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 DefaultAllowEmptyFileUploads: Boolean
If empty file uploads are allowed (no matter if filename or file is empty)
If empty file uploads are allowed (no matter if filename or file is empty)
You can configure it in application.conf:
play.http.parser.allowEmptyFiles = true
- 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 = 100k
- 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 org.apache.pekko.util.ByteString.
Buffer the body as a simple org.apache.pekko.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 org.apache.pekko.util.ByteString.
Buffer the body as a simple org.apache.pekko.util.ByteString.
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @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 file(to: File, maxLength: Long): BodyParser[File]
Store the body content into a file.
Store the body content into a file.
- to
The file used to store the content.
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response.
- 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 formBinding(maxChars: Long = DefaultMaxTextLength, maxDepth: Int = Form.FromJsonMaxDepth): FormBinding
- 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
- @HotSpotIntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @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, allowEmptyFiles: Boolean = DefaultAllowEmptyFileUploads): 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.
- allowEmptyFiles
If empty file uploads are allowed (no matter if filename or file is empty)
- def multipartFormData(maxLength: Long, allowEmptyFiles: Boolean): 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.
- allowEmptyFiles
If empty file uploads are allowed (no matter if filename or file is empty)
- def multipartFormData(allowEmptyFiles: Boolean): BodyParser[MultipartFormData[TemporaryFile]]
Parse the content as multipart/form-data
Parse the content as multipart/form-data
- allowEmptyFiles
If empty file uploads are allowed (no matter if filename or file is empty)
- 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
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @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 temporaryFile(maxLength: Long): BodyParser[TemporaryFile]
Store the body content into a temporary file.
Store the body content into a temporary file.
- maxLength
Max length (in bytes) allowed or returns EntityTooLarge HTTP response.
- 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(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()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- 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 finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)
- def multipartFormData[A](filePartHandler: FilePartHandler[A], maxLength: Long): 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.
- Annotations
- @deprecated
- Deprecated
(Since version 2.9.0) Use the overloaded multipartFormData method that takes the allowEmptyFiles flag
- See also