aws / aws/aws-lambda-nodejs-runtime-interface-client
Function URL with Response Streaming does not support Content-Encoding
- Dominant language
- TypeScript
- Stars
- 224
- Forks
- 60
- PR merge metrics
- No merged PRs in 30d
Description
If I compress my response using `gzip` and set a proper `Content-Encoding` response header, it appears like Function URL will decompress my response on-the-fly, remove the `Content-Encoding` header, and pass down the uncompressed response stream. This is wasteful and unnecessary.
```js
const pipeline = require("util").promisify(require("stream").pipeline);
const { Readable } = require("stream");
const zlib = require('zlib');
exports.handler = awslambda.streamifyResponse(async (event,
responseStream, context) => {
responseStream = awslambda.HttpResponseStream.from(responseStream, {
statusCode: 200,
headers: {
'content-encoding': 'gzip',
'content-type': 'text/plain',
}
});
await pipeline(
Readable.from(zlib.gzipSync('hello world')),
responseStream,
);
});
```
See here - the response is uncompressed, with `Content-Encoding` header stripped:

Contributor guide
Assessment
This issue has not been assessed yet.