This library provides a wrapper that can be used to compress content in responses when using the AWS HTTP API.
The library supports compression with br
, gzip
and deflate
. It will return responses with compressed data matching the supported accept-encoding
header provided by the client.
Simply add the lambda-compression
package to your project:
npm add lambda-compression
# when using Yarn
yarn add lambda-compression
This library provides only one method compress
that accepts two parameters with the respective types of APIGatewayProxyEventV2
and APIGatewayProxyStructuredResultV2
(for more details on these types, see TypeScript Types for AWS Lambda).
Simply call the compress
method as follows before returning the result of your Lambda.
import { compress } from 'lambda-compression';
import {
Handler,
APIGatewayProxyEventV2,
APIGatewayProxyResultV2,
} from 'aws-lambda';
type ProxyHandler = Handler<APIGatewayProxyEventV2, APIGatewayProxyResultV2>;
export const handler: ProxyHandler = async (event, context) => {
return compress(event, {
statusCode: 201,
headers: {
'Content-Type': 'application/json',
},
body: '{"data":"hello"}',
});
};