All files encode.js

100% Statements 8/8
100% Branches 0/0
100% Functions 1/1
100% Lines 8/8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 181x 1x     1x       1x 1x 1x 1x       1x    
const Crypto = require('crypto');
const AddMinutes = require('./add-minutes');
 
function GenerateSignature(key, _opts) {
	const opts = {
		..._opts,
		"expireAt": AddMinutes(new Date(), 20)
	}
	const query = Buffer.from(JSON.stringify(opts)).toString("base64");
	const sharedSecret = key.toString();
	const signature = Crypto.createHmac('sha256', sharedSecret).update(query).digest('base64');
	return `${query}.${signature}`;
 
}
 
module.exports = GenerateSignature;