Currently, Play only has GzipFilter. To easily support modern compression algorithms like Brotli (br) or zstd without duplicating filter logic, it would be great to have an extensible encoding filter, something like
class ContentEncodingFilter(
encodingName: String,
createFlow: () => Flow[ByteString, ByteString, _],
shouldTranscode: (request: RequestHeader, result: Result) => Boolean,
)
Currently, Play only has GzipFilter. To easily support modern compression algorithms like Brotli (br) or zstd without duplicating filter logic, it would be great to have an extensible encoding filter, something like