Packages

package http

Contains standard HTTP constants. For example:

val text = ContentTypes.TEXT
val ok = Status.OK
val accept = HeaderNames.ACCEPT
Source
package.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. http
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package websocket

Type Members

  1. trait AcceptEncoding extends AnyRef

    A representation of the Accept-Encoding header

  2. case class ActionCompositionConfiguration(controllerAnnotationsFirst: Boolean = false, executeActionCreatorActionFirst: Boolean = false, includeWebSocketActions: Boolean = false) extends Product with Serializable

    Configuration for action composition.

    Configuration for action composition.

    controllerAnnotationsFirst

    If annotations put on controllers should be executed before the ones put on actions.

    executeActionCreatorActionFirst

    If the action returned by the action creator should be executed before the action composition ones.

    includeWebSocketActions

    If WebSocket actions should be included in action composition.

  3. case class ContentTypeOf[-A](mimeType: Option[String]) extends Product with Serializable

    Defines the default content type for type A.

    Defines the default content type for type A.

    A

    the content type

    mimeType

    the default content type for A, if any

    Annotations
    @implicitNotFound()
  4. trait ContentTypes extends AnyRef

    Defines common HTTP Content-Type header values, according to the current available Codec.

  5. case class CookiesConfiguration(strict: Boolean = true) extends Product with Serializable

    The cookies configuration

    The cookies configuration

    strict

    Whether strict cookie parsing should be used. If true, will cause the entire cookie header to be discarded if a single cookie is found to be invalid.

  6. trait DefaultContentTypeOfs extends AnyRef

    Contains typeclasses for ContentTypeOf.

  7. class DefaultFileMimeTypes extends FileMimeTypes

    Default implementation of FileMimeTypes.

  8. class DefaultFileMimeTypesProvider extends Provider[FileMimeTypes]
    Annotations
    @Singleton()
  9. class DefaultHttpErrorHandler extends HttpErrorHandler

    The default HTTP error handler.

    The default HTTP error handler.

    This class is intended to be extended, allowing users to reuse some of the functionality provided here.

    Annotations
    @Singleton()
  10. class DefaultHttpFilters extends HttpFilters

    A default implementation of HttpFilters that accepts filters as a varargs constructor and exposes them as a filters sequence.

    A default implementation of HttpFilters that accepts filters as a varargs constructor and exposes them as a filters sequence. This is available for runtime DI users who don't want to do things in configuration using play.filters.enabled, because they need more fine grained control over the injected components.

    For example:

    class Filters @Inject()(defaultFilters: EnabledFilters, corsFilter: CORSFilter)
      extends DefaultHttpFilters(defaultFilters.filters :+ corsFilter: _*)
  11. class DefaultHttpRequestHandler extends HttpRequestHandler

    A base implementation of the HttpRequestHandler that handles Scala actions.

    A base implementation of the HttpRequestHandler that handles Scala actions. If you use Java actions in your application, you should override JavaCompatibleHttpRequestHandler; otherwise you can override this for your custom handler.

    Technically, this is not the default request handler that Play uses, rather, the JavaCompatibleHttpRequestHandler is the default one, in order to provide support for Java actions.

  12. trait DefaultWriteables extends LowPriorityWriteables

    Default Writeable.

  13. class EnabledFilters extends HttpFilters

    This class provides filters that are "automatically" enabled through play.filters.enabled.

    This class provides filters that are "automatically" enabled through play.filters.enabled. A list of default filters are defined in reference.conf.

    See https://www.playframework.com/documentation/latest/Filters for more information.

    Annotations
    @Singleton()
  14. case class EncodingPreference(name: String = "*", qValue: Option[BigDecimal] = None) extends Product with Serializable

    A representation of an encoding preference as specified in the Accept-Encoding header.

    A representation of an encoding preference as specified in the Accept-Encoding header. This contains an encoding name (or *), and an optional q-value.

  15. trait FileMimeTypes extends AnyRef

    Defines behavior for file type mappings.

    Defines behavior for file type mappings.

    This trait is primarily used with results and assets that send files, for users who want to send a file without having to specify an explicit content type. For example, a user can send a file with ".json":

    implicit val fileMimeTypes = ...
    val file = new File("test.json")
    Ok.sendFile(file) // <-- uses implicit fileMimeTypes

    and have a "json" -> "application/json" mapping done implicitly based off the file extension. The Assets controller handles this mapping automatically.

    In a controller, an implicit FileMimeTypes object can either be defined explicitly:

    class MyController @Inject()(implicit val fileMimeTypes: FileMimeTypes) extends BaseController {
       def sendFile() = ...
    }

    or, if play.api.mvc.BaseController is extended, then an implicit fileMimeTypes instance is already made available from play.api.mvc.ControllerComponents, meaning that no explicit import is required:

    class MyController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {
      def sendFile() = ...
    }
    Annotations
    @implicitNotFound()
  16. case class FileMimeTypesConfiguration(mimeTypes: Map[String, String] = Map.empty) extends Product with Serializable

    Configuration for file MIME types, mapping from extension to content type.

    Configuration for file MIME types, mapping from extension to content type.

    mimeTypes

    the extension to mime type mapping.

  17. case class FlashConfiguration(cookieName: String = "PLAY_FLASH", secure: Boolean = false, httpOnly: Boolean = true, domain: Option[String] = None, path: String = "/", sameSite: Option[SameSite] = Some(SameSite.Lax), jwt: JWTConfiguration = JWTConfiguration()) extends Product with Serializable

    The flash configuration

    The flash configuration

    cookieName

    The name of the cookie used to store the session

    secure

    Whether the flash cookie should set the secure flag or not

    httpOnly

    Whether the HTTP only attribute of the cookie should be set

    domain

    The domain to set for the session cookie, if defined

    path

    The path for which this cookie is valid

    sameSite

    The cookie's SameSite attribute

    jwt

    The JWT specific information

  18. trait HeaderNames extends AnyRef

    Defines all standard HTTP headers.

  19. class HtmlOrJsonHttpErrorHandler extends PreferredMediaTypeHttpErrorHandler

    An HttpErrorHandler that uses either HTML or JSON in the response depending on the client's preference.

  20. sealed trait HttpChunk extends AnyRef

    An HTTP chunk.

    An HTTP chunk.

    May either be a HttpChunk.Chunk containing data, or a HttpChunk.LastChunk, signifying the last chunk in a stream, optionally with trailing headers.

  21. case class HttpConfiguration(context: String = "/", parser: ParserConfiguration = ParserConfiguration(), actionComposition: ActionCompositionConfiguration = ActionCompositionConfiguration(), cookies: CookiesConfiguration = CookiesConfiguration(), session: SessionConfiguration = SessionConfiguration(), flash: FlashConfiguration = FlashConfiguration(), fileMimeTypes: FileMimeTypesConfiguration = FileMimeTypesConfiguration(), secret: SecretConfiguration = SecretConfiguration()) extends Product with Serializable

    HTTP related configuration of a Play application

    HTTP related configuration of a Play application

    context

    The HTTP context

    parser

    The parser configuration

    session

    The session configuration

    flash

    The flash configuration

    fileMimeTypes

    The fileMimeTypes configuration

  22. sealed trait HttpEntity extends AnyRef

    An HTTP entity.

    An HTTP entity.

    HTTP entities come in three flavors, HttpEntity.Strict, HttpEntity.Streamed and HttpEntity.Chunked.

  23. case class HttpErrorConfig(showDevErrors: Boolean = false, playEditor: Option[String] = None) extends Product with Serializable
  24. trait HttpErrorHandler extends AnyRef

    Component for handling HTTP errors in Play.

    Component for handling HTTP errors in Play.

    Since

    2.4.0

  25. case class HttpErrorInfo(origin: String) extends http.HttpErrorInfo with Product with Serializable

    Used as request attribute which gets attached to the request that gets passed to an error handler.

    Used as request attribute which gets attached to the request that gets passed to an error handler. Contains additional information useful for handling an error.

    Annotations
    @ApiMayChange()
  26. trait HttpFilters extends AnyRef

    Provides filters to the play.api.http.HttpRequestHandler.

  27. trait HttpProtocol extends AnyRef

    Defines HTTP protocol constants

  28. trait HttpRequestHandler extends AnyRef

    Primary entry point for all HTTP requests on Play applications.

  29. trait HttpVerbs extends AnyRef

    Standard HTTP Verbs

  30. case class JWTConfiguration(signatureAlgorithm: String = "HS256", expiresAfter: Option[FiniteDuration] = None, clockSkew: FiniteDuration = 30.seconds, dataClaim: String = "data") extends Product with Serializable

    The JSON Web Token configuration

    The JSON Web Token configuration

    signatureAlgorithm

    The signature algorithm used to sign the JWT

    expiresAfter

    The period of time after which the JWT expires, if any.

    clockSkew

    The amount of clock skew to permit for expiration / not before checks

    dataClaim

    The claim key corresponding to the data map passed in by the user

  31. class JavaCompatibleHttpRequestHandler extends DefaultHttpRequestHandler

    A Java compatible HTTP request handler.

    A Java compatible HTTP request handler.

    If a router routes to Java actions, it will return instances of play.core.j.JavaHandler. This takes an instance of play.core.j.JavaHandlerComponents to supply the necessary infrastructure to invoke a Java action, and returns a new play.api.mvc.Handler that the core of Play knows how to handle.

    If your application routes to Java actions, then you must use this request handler as the base class as is or as the base class for your custom HttpRequestHandler.

  32. class JavaHttpFiltersAdapter extends DefaultHttpFilters

    Adapter from the Java HttpFilters to the Scala HttpFilters interface.

  33. class JavaHttpFiltersDelegate extends http.DefaultHttpFilters
  34. class JsonHttpErrorHandler extends HttpErrorHandler

    An alternative default HTTP error handler which will render errors as JSON messages instead of HTML pages.

    An alternative default HTTP error handler which will render errors as JSON messages instead of HTML pages.

    In Dev mode, exceptions thrown by the server code will be rendered in JSON messages. In Prod mode, they will not be rendered.

    You could override how exceptions are rendered in Dev mode by extending this class and overriding the formatDevServerErrorException method.

  35. trait LowPriorityWriteables extends AnyRef

    Default Writeable with lower priority.

  36. class MediaRange extends MediaType

    A media range as defined by RFC 2616 14.1

  37. case class MediaType(mediaType: String, mediaSubType: String, parameters: Seq[(String, Option[String])]) extends Product with Serializable

    A media type as defined by RFC 2616 3.7.

    A media type as defined by RFC 2616 3.7.

    mediaType

    The media type

    mediaSubType

    The media sub type

    parameters

    The parameters

  38. trait MimeTypes extends AnyRef

    Common HTTP MIME types

  39. class NoHttpFilters extends HttpFilters

    A filters provider that provides no filters.

  40. case class ParserConfiguration(maxMemoryBuffer: Long = 102400, maxDiskBuffer: Long = 10485760, allowEmptyFiles: Boolean = false) extends Product with Serializable

    Configuration for body parsers.

    Configuration for body parsers.

    maxMemoryBuffer

    The maximum size that a request body that should be buffered in memory.

    maxDiskBuffer

    The maximum size that a request body should be buffered on disk.

    allowEmptyFiles

    If empty file uploads are allowed (no matter if filename or file is empty)

  41. final class Port extends AnyVal

    A port.

    A port. This class is defined so that ports can be passed around implicitly.

  42. class PreferredMediaTypeHttpErrorHandler extends HttpErrorHandler

    An HttpErrorHandler that delegates to one of several HttpErrorHandlers based on media type preferences.

    An HttpErrorHandler that delegates to one of several HttpErrorHandlers based on media type preferences.

    For example, to create an error handler that handles JSON and HTML, with JSON preferred by the app as default:

    override lazy val httpErrorHandler = PreferredMediaTypeHttpErrorHandler(
      "application/json" -> new JsonHttpErrorHandler()
      "text/html" -> new HtmlHttpErrorHandler(),
    )

    If the client's preferred media range matches multiple media types in the list, then the first match is chosen.

  43. case class SecretConfiguration(secret: String = "changeme", provider: Option[String] = None) extends Product with Serializable

    The application secret.

    The application secret. Must be set. A value of "changeme" will cause the application to fail to start in production.

    With the Play secret we want to:

    1. Encourage the practice of *not* using the same secret in dev and prod. 2. Make it obvious that the secret should be changed. 3. Ensure that in dev mode, the secret stays stable across restarts. 4. Ensure that in dev mode, sessions do not interfere with other applications that may be or have been running on localhost. Eg, if I start Play app 1, and it stores a PLAY_SESSION cookie for localhost:9000, then I stop it, and start Play app 2, when it reads the PLAY_SESSION cookie for localhost:9000, it should not see the session set by Play app 1. This can be achieved by using different secrets for the two, since if they are different, they will simply ignore the session cookie set by the other.

    To achieve 1 and 2, we will, in Activator templates, set the default secret to be "changeme". This should make it obvious that the secret needs to be changed and discourage using the same secret in dev and prod.

    For safety, if the secret is not set, or if it's changeme, and we are in prod mode, then we will fail fatally. This will further enforce both 1 and 2.

    To achieve 3, if in dev or test mode, if the secret is either changeme or not set, we will generate a secret based on the location of application.conf. This should be stable across restarts for a given application.

    To achieve 4, using the location of application.conf to generate the secret should ensure this.

    Play secret is checked for a minimum length, dependent on the algorithm used to sign the session and flash cookie. If the key has fewer bits then required by the algorithm, then an error is thrown and the configuration is invalid.

    secret

    the application secret

    provider

    the JCE provider to use. If null, uses the platform default

  44. case class SessionConfiguration(cookieName: String = "PLAY_SESSION", secure: Boolean = false, maxAge: Option[FiniteDuration] = None, httpOnly: Boolean = true, domain: Option[String] = None, path: String = "/", sameSite: Option[SameSite] = Some(SameSite.Lax), jwt: JWTConfiguration = JWTConfiguration()) extends Product with Serializable

    The session configuration

    The session configuration

    cookieName

    The name of the cookie used to store the session

    secure

    Whether the session cookie should set the secure flag or not

    maxAge

    The max age of the session, none, use "session" sessions

    httpOnly

    Whether the HTTP only attribute of the cookie should be set

    domain

    The domain to set for the session cookie, if defined

    path

    The path for which this cookie is valid

    sameSite

    The cookie's SameSite attribute

    jwt

    The JWT specific information

  45. trait Status extends AnyRef

    Defines all standard HTTP status codes.

    Defines all standard HTTP status codes.

    See RFC 7231 and RFC 6585.

  46. class Writeable[-A] extends AnyRef

    Transform a value of type A to a Byte Array.

    Transform a value of type A to a Byte Array.

    A

    the content type

    Annotations
    @implicitNotFound()

Value Members

  1. val dateFormat: DateTimeFormatter

    HTTP date formatter, compliant to RFC 1123

  2. object AcceptEncoding
  3. object ActionCreator
  4. object ContentEncoding
  5. object ContentTypeOf extends DefaultContentTypeOfs with Serializable

    Default Content-Type typeclasses.

  6. object ContentTypes extends ContentTypes

    Defines common HTTP Content-Type header values, according to the current available Codec.

  7. object DefaultHttpErrorHandler extends DefaultHttpErrorHandler

    A fallback default HTTP error handler that can be used when there's no application available.

    A fallback default HTTP error handler that can be used when there's no application available.

    Note: this HttpErrorHandler uses the default HttpErrorConfig, which does not showDevErrors. It is largely here to preserve binary compatibility, but should be overridden with an injected HttpErrorHandler.

  8. object DevHttpErrorHandler extends DefaultHttpErrorHandler

    A default HTTP error handler that can be used when there's no application available.

    A default HTTP error handler that can be used when there's no application available.

    Note: this HttpErrorHandler should ONLY be used in DEV or TEST. The way this displays errors to the user is generally not suitable for a production environment.

  9. object EncodingPreference extends Serializable
  10. object HeaderNames extends HeaderNames

    Defines all standard HTTP headers.

  11. object HttpChunk
  12. object HttpConfiguration extends Serializable
  13. object HttpEntity
  14. object HttpErrorHandler
  15. object HttpErrorHandlerExceptions

    Extracted so the Java default error handler can reuse this functionality

  16. object HttpFilters
  17. object HttpProtocol extends HttpProtocol

    Defines HTTP protocol constants

  18. object HttpRequestHandler
  19. object HttpVerbs extends HttpVerbs

    Standard HTTP Verbs

  20. object JWTConfigurationParser
  21. object MediaRange extends Serializable
  22. object MediaType extends Serializable
  23. object MimeTypes extends MimeTypes

    Common HTTP MIME types

  24. object NoHttpFilters extends NoHttpFilters
  25. object NotImplementedHttpRequestHandler extends HttpRequestHandler

    Implementation of a [HttpRequestHandler] that always returns NotImplemented results

  26. object PreferredMediaTypeHttpErrorHandler
  27. object Status extends Status

    Defines all standard HTTP status codes, with additional helpers for determining the type of status.

  28. object Writeable extends DefaultWriteables

    Helper utilities for Writeable.

Inherited from AnyRef

Inherited from Any

Ungrouped