Skip to Content
DocsExecution PoliciesResponse Compression

Response Compression

Reduce network payload sizes for large payloads by enabling response compression. Actyx RPC handles compression on output and automatically decodes incoming compressed buffer payloads.

const getLargeReport = procedure .compress({ algorithm: "gzip", threshold: 2048, // Only compress payloads larger than 2KB compressResponse: true, }) .query(async () => { return await generateReportData(); });

Compression Options

OptionTypeDefaultDescription
algorithm'gzip' | 'deflate' | 'brotli''gzip'Compression algorithm used.
thresholdnumber1024Minimum payload size in bytes before applying compression.
levelnumber6Compression intensity level (ranging 1 to 9).
compressResponsebooleanfalseEnable/disable compressing the output payloads.
onCompress(original, compressed) => voidCallback containing compression statistics (sizes).

Decompression on Cache Hit

If you cache a compressed procedure, make sure to configure decompress: true in your .cache() settings:

const getCachedReport = procedure .compress({ algorithm: "gzip", compressResponse: true }) .cache({ ttl: 60000, decompress: true }) // Decompresses on cache hit .query(async () => { ... });
Last updated on