nodestream-transform-checksum
v0.5.1
Published
Checksum calculator for Nodestream
Downloads
39
Maintainers
Readme
Nodestream - Checksum Transform
Checksum calculator for Nodestream
Identity:: checksum
Description
This transformer allows you to calculate checksums of the files you upload/download with Nodestream. It can also be used as a standalone library, although it does not provide much in addition to the standard crypto APIs.
Usage
Installation
npm install --save nodestream-transform-checksum
Configuration
You need to register this tranform with Nodestream before you can use it:
// Assuming you already have a nodestream instance configured with an adapter
nodestream.registerTransform('checksum')
Now you can create a pipeline which will use this transform:
const pipeline = nodestream.pipeline()
.use('checksum', {
algorithm: 'md5',
buffer: false
})
The transform accepts two options:
algorithm
: Which hashing algorithm should be used. This can be anything thatcrypto.getHashes()
shows on your system.buffer
: By default, the resulting hash will be returned as hex string. Set this totrue
to get the actual raw buffer instead.
Results
This transform will publish its data to the checksum
property (this transform's identity) on the results
response:
// Uploads
const file = fs.createReadStream('/users/me/profile-pic.png')
pipeline.upload(file, { name: 'avatar.png' })
.then(results => {
results.checksum.value // The actual hash
results.checksum.algorithm // The algorithm used
})
// Downloads
const dest = fs.createWriteStream('/users/me/profile-pic.png')
pipeline.download('avatars/user-123.png', dest)
.then(results => {
results.checksum.value // The actual hash
results.checksum.algorithm // The algorithm used
})
License
This software is licensed under the BSD-3-Clause License. See the LICENSE file for more information.