Packages

trait PlayBodyParsers extends BodyParserUtils

Body parsers officially supported by Play (i.e. built-in to Play)

Source
BodyParsers.scala
Linear Supertypes
BodyParserUtils, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PlayBodyParsers
  2. BodyParserUtils
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. 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
  5. 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
  6. 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
  7. val UNLIMITED: Long

    Unlimited size.

  8. def anyContent(maxLength: Option[Long]): BodyParser[AnyContent]

    Guess the body content by checking the Content-Type header.

  9. def anyContent: BodyParser[AnyContent]

    Guess the body content by checking the Content-Type header.

  10. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  11. 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.

  12. 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.

  13. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  14. def createBadResult(msg: String, statusCode: Int = BAD_REQUEST): (RequestHeader) => Future[Result]
    Attributes
    protected
  15. def default(maxLength: Option[Long]): BodyParser[AnyContent]

    If the request has a body, parse the body content by checking the Content-Type header.

  16. def default: BodyParser[AnyContent]

    If the request has a body, parse the body content by checking the Content-Type header.

  17. def defaultBodyParser: BodyParser[AnyContent]
  18. def empty: BodyParser[Unit]

    Don't parse the body content.

    Don't parse the body content.

    Definition Classes
    BodyParserUtils
  19. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  21. 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
  22. 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.

  23. 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.

  24. 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
  25. 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 default play.http.parser.maxMemoryBuffer configuration value is used.

    onErrors

    The result to reply in case of errors during the form binding process

  26. def formBinding(maxChars: Long = DefaultMaxTextLength, maxDepth: Int = Form.FromJsonMaxDepth): FormBinding
  27. def formUrlEncoded: BodyParser[Map[String, Seq[String]]]

    Parse the body as form url encoded if the Content-Type is application/x-www-form-urlencoded.

  28. 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.

  29. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  30. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  31. def ignore[A](body: A): BodyParser[A]
    Definition Classes
    BodyParserUtils
  32. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  33. 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.

  34. def json: BodyParser[JsValue]

    Parse the body as Json if the Content-Type is text/json or application/json.

  35. 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.

  36. 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
  37. 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)

    See also

    DefaultMaxDiskLength

    Results.EntityTooLarge

  38. 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)

  39. 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)

  40. 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.

  41. def multipartFormData: BodyParser[MultipartFormData[TemporaryFile]]

    Parse the content as multipart/form-data

  42. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  43. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  44. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  45. def raw: BodyParser[RawBuffer]

    Store the body content in a RawBuffer.

  46. 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.

    See also

    DefaultMaxDiskLength

    Results.EntityTooLarge

  47. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  48. def temporaryFile: BodyParser[TemporaryFile]

    Store the body content into a temporary file.

  49. 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.

  50. def text: BodyParser[String]

    Parse the body as text if the Content-Type is text/plain.

  51. 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.

  52. def toString(): String
    Definition Classes
    AnyRef → Any
  53. 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
  54. def tolerantFormUrlEncoded: BodyParser[Map[String, Seq[String]]]

    Parse the body as form url encoded without checking the Content-Type.

  55. 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.

  56. 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.

  57. def tolerantJson: BodyParser[JsValue]

    Parse the body as Json without checking the Content-Type.

  58. 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.

  59. def tolerantText: BodyParser[String]

    Parse the body as text without checking the Content-Type.

  60. 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.

  61. def tolerantXml: BodyParser[NodeSeq]

    Parse the body as Xml without checking the Content-Type.

  62. 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.

  63. 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
  64. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  65. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  66. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  67. 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
  68. def xml: BodyParser[NodeSeq]

    Parse the body as Xml if the Content-Type is application/xml, text/xml or application/XXX+xml.

  69. 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

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

  2. 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

    DefaultMaxDiskLength

    Results.EntityTooLarge

Inherited from BodyParserUtils

Inherited from AnyRef

Inherited from Any

Ungrouped