1.1.6 • Published 5 years ago
etag-stream v1.1.6
ETag Stream
A Transform stream that calculates Etag/S3 MD5 sum. Uses the same algorithm that S3 uses to calculate the ETag.
This is especially useful for verifying large files uploaded using multipart S3 API, enabling use of createReadStream to keep memory usage low.
Installation
npm install etag-streamUsage
const ETagStream = require('etag-stream');
const stream = new ETagStream();
let result = null;
stream
.on('error', e => {
reject(e);
})
.on('etag', data => {
result = data.toString();
})
.on('data', data => {
// data passes through if you need to do more!
})
.on('finish', () => {
resolve(result);
});
createReadStream(local).pipe(stream);ETags compatible with s3, thanks to the author of this post for the breakdown of the algorithm.