ngx-soap
Version:
SOAP service for Angular
25 lines • 3 kB
JavaScript
import sha1 from 'crypto-js/sha1';
import Base64 from 'crypto-js/enc-base64';
import { Buffer } from 'buffer';
export const passwordDigest = function passwordDigest(nonce, created, password) {
const rawNonce = new Buffer(nonce || '', 'base64').toString('binary');
return Base64.stringify(sha1(rawNonce + created + password, ''));
};
export const TNS_PREFIX = '__tns__'; // Prefix for targetNamespace
/**
* Find a key from an object based on the value
* @param Namespace prefix/uri mapping
* @param nsURI value
* @returns The matching key
*/
export const findPrefix = function (xmlnsMapping, nsURI) {
for (const n in xmlnsMapping) {
if (n === TNS_PREFIX) {
continue;
}
if (xmlnsMapping[n] === nsURI) {
return n;
}
}
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc29hcC9zcmMvbGliL3NvYXAvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxJQUFJLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEMsT0FBTyxNQUFNLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUVoQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsU0FBUyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRO0lBQzVFLE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RFLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sR0FBRyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLENBQUMsNkJBQTZCO0FBRWxFOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFVBQVMsWUFBWSxFQUFFLEtBQUs7SUFDcEQsS0FBSyxNQUFNLENBQUMsSUFBSSxZQUFZLEVBQUU7UUFDNUIsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO1lBQUUsU0FBUztTQUFFO1FBQ25DLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssRUFBRTtZQUM3QixPQUFPLENBQUMsQ0FBQztTQUNWO0tBQ0Y7QUFDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc2hhMSBmcm9tICdjcnlwdG8tanMvc2hhMSc7XG5pbXBvcnQgQmFzZTY0IGZyb20gJ2NyeXB0by1qcy9lbmMtYmFzZTY0JztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5cbmV4cG9ydCBjb25zdCBwYXNzd29yZERpZ2VzdCA9IGZ1bmN0aW9uIHBhc3N3b3JkRGlnZXN0KG5vbmNlLCBjcmVhdGVkLCBwYXNzd29yZCkge1xuICBjb25zdCByYXdOb25jZSA9IG5ldyBCdWZmZXIobm9uY2UgfHwgJycsICdiYXNlNjQnKS50b1N0cmluZygnYmluYXJ5Jyk7XG4gIHJldHVybiBCYXNlNjQuc3RyaW5naWZ5KHNoYTEocmF3Tm9uY2UgKyBjcmVhdGVkICsgcGFzc3dvcmQsICcnKSk7XG59O1xuXG5leHBvcnQgY29uc3QgVE5TX1BSRUZJWCA9ICdfX3Ruc19fJzsgLy8gUHJlZml4IGZvciB0YXJnZXROYW1lc3BhY2VcblxuLyoqXG4gKiBGaW5kIGEga2V5IGZyb20gYW4gb2JqZWN0IGJhc2VkIG9uIHRoZSB2YWx1ZVxuICogQHBhcmFtICBOYW1lc3BhY2UgcHJlZml4L3VyaSBtYXBwaW5nXG4gKiBAcGFyYW0gIG5zVVJJIHZhbHVlXG4gKiBAcmV0dXJucyAgVGhlIG1hdGNoaW5nIGtleVxuICovXG5leHBvcnQgY29uc3QgZmluZFByZWZpeCA9IGZ1bmN0aW9uKHhtbG5zTWFwcGluZywgbnNVUkkpIHtcbiAgZm9yIChjb25zdCBuIGluIHhtbG5zTWFwcGluZykge1xuICAgIGlmIChuID09PSBUTlNfUFJFRklYKSB7IGNvbnRpbnVlOyB9XG4gICAgaWYgKHhtbG5zTWFwcGluZ1tuXSA9PT0gbnNVUkkpIHtcbiAgICAgIHJldHVybiBuO1xuICAgIH1cbiAgfVxufTtcbiJdfQ==