withPrecompressedMediaTypeSupport

Description

Inspects the response entity and adds a Content-Encoding: gzip response header if the entity’s media-type is precompressed with gzip and no Content-Encoding header is present yet.

Example

final ByteString svgz = Coder.Gzip.encode(ByteString.fromString("<svg/>"));

final Route route = withPrecompressedMediaTypeSupport(() ->
  complete(
    HttpResponse.create().withEntity(
      HttpEntities.create(MediaTypes.IMAGE_SVGZ.toContentType(), svgz))
  )
);

// tests:
testRoute(route).run(HttpRequest.GET("/"))
  .assertMediaType(MediaTypes.IMAGE_SVG_XML)
  .assertHeaderExists(ContentEncoding.create(HttpEncodings.GZIP));
The source code for this page can be found here.