play.filters.brotli

Members list

Type members

Classlikes

@Singleton
class BrotliFilter(config: BrotliFilterConfig)(implicit mat: Materializer) extends EssentialFilter

A brotli filter.

A brotli filter.

This filter may compress with brotli the responses for any requests that aren't HEAD requests and specify an accept encoding of brotli.

It won't compresss under the following conditions:

  • The response code is 204 or 304 (these codes MUST NOT contain a body, and an empty compressed response is 20 bytes long)
  • The response already defines a Content-Encoding header
  • A custom shouldBrotli function is supplied and it returns false

Since compressing changes the content length of the response, this filter may do some buffering - it will buffer any streamed responses that define a content length less than the configured chunked threshold. Responses that are greater in length, or that don't define a content length, will not be buffered, but will be sent as chunked responses.

Attributes

Supertypes
trait EssentialFilter
class Object
trait Matchable
class Any

The brotli filter components.

The brotli filter components.

Attributes

Supertypes
class Object
trait Matchable
class Any
case class BrotliFilterConfig(quality: Int, bufferSize: Int, chunkedThreshold: Int, shouldBrotli: (RequestHeader, Result) => Boolean)

Configuration for the brotli filter

Configuration for the brotli filter

Value parameters

chunkedThreshold

The content length threshold, after which the filter will switch to chunking the result.

quality

The compression-speed vs compression-density tradeoffs. The higher the quality, the slower the compression. Range is 0 to 11

shouldBrotli

Whether the given request/result should be compressed with brotli. This can be used, for example, to implement black/white lists for compressing by content type.

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
@Singleton
class BrotliFilterConfigProvider(config: Configuration) extends Provider[BrotliFilterConfig]

The brotli filter configuration provider.

The brotli filter configuration provider.

Attributes

Supertypes
trait Provider[BrotliFilterConfig]
class Object
trait Matchable
class Any
class BrotliFilterModule extends Module

The brotli filter module.

The brotli filter module.

Attributes

Supertypes
class Module
class Object
trait Matchable
class Any