src/utils.js
function getDigest(cfg) {
    var ha1, ha2, response;

    ha1 = crypto.createHash('md5').update(cfg.fromExt + ':' + cfg.realm +
                                          ':' + cfg.pass).digest('hex');
    ha2 = crypto.createHash('md5').update(cfg.meth + ':' +
                                          cfg.authUri).digest('hex');
//    console.log(cfg);
//    console.log('HA1: ' + cfg.fromExt + ':' + cfg.realm + ':' + cfg.pass)
//    console.log('HA1MD5:'+ ha1);
//    console.log('HA2: ' + cfg.meth + ':' + cfg.authUri);
//    console.log('HA2MD5:'+ ha2);

    response = crypto.createHash('md5').update(
        ha1 + ':' + cfg.nonce + ':' + ha2).digest('hex');
//    console.log('response: ' + ha1 + ':' + cfg.nonce + ':' + ha2);
//    console.log('responseMD5: ' + response );
    return response;
}
function getDigest(cfg) {
    var ha1, ha2, response;

    ha1 = crypto.createHash('md5').update(cfg.fromExt + ':' + cfg.realm +
                                          ':' + cfg.pass).digest('hex');
    ha2 = crypto.createHash('md5').update(cfg.meth + ':' +
                                          cfg.authUri).digest('hex');
//    console.log(cfg);
//    console.log('HA1: ' + cfg.fromExt + ':' + cfg.realm + ':' + cfg.pass)
//    console.log('HA1MD5:'+ ha1);
//    console.log('HA2: ' + cfg.meth + ':' + cfg.authUri);
//    console.log('HA2MD5:'+ ha2);

    response = crypto.createHash('md5').update(
        ha1 + ':' + cfg.nonce + ':' + ha2).digest('hex');
//    console.log('response: ' + ha1 + ':' + cfg.nonce + ':' + ha2);
//    console.log('responseMD5: ' + response );
    return response;
}
Helpers