Source code for resolver_athena_client.client.transformers.brotli_compressor
"""Compression middleware for images."""
from typing import override
from resolver_athena_client.client.models import ImageData
from resolver_athena_client.client.transformers.async_transformer import (
AsyncTransformer,
)
from resolver_athena_client.client.transformers.core import compress_image
[docs]
class BrotliCompressor(AsyncTransformer[ImageData, ImageData]):
"""Middleware for compressing ImageData."""
[docs]
@override
async def transform(self, data: ImageData) -> ImageData:
"""Compress the image bytes in ImageData.
Args:
----
data: The ImageData containing bytes to compress.
Returns:
-------
ImageData with compressed bytes but original hashes preserved.
"""
return compress_image(data)