UNPKG

@push.rocks/smartlog

Version:

A minimalistic, distributed, and extensible logging tool supporting centralized log management.

48 lines 4.23 kB
import * as plugins from './sl.receiver.plugins.js'; /** * a class that receives smartlog packages */ export class SmartlogReceiver { constructor(smartlogReceiverOptions) { this.passphrase = smartlogReceiverOptions.passphrase; this.validatorFunction = smartlogReceiverOptions.validatorFunction || (async (logpackageArg) => { return true; }); this.smartlogInstance = smartlogReceiverOptions.smartlogInstance; } /** * handles a authenticated log */ async handleAuthenticatedLog(authenticatedLogPackageArg) { const authString = authenticatedLogPackageArg.auth; const logPackage = authenticatedLogPackageArg.logPackage; if (authString === plugins.smarthash.sha256FromStringSync(this.passphrase) && (await this.validatorFunction(logPackage))) { // Message authenticated lets clean up. logPackage.correlation ? null : (logPackage.correlation = { id: '123', type: 'none' }); logPackage.correlation.id ? null : (logPackage.correlation.id = '123'); logPackage.correlation.type ? null : (logPackage.correlation.type = 'none'); this.smartlogInstance.handleLog(logPackage); return { status: 'ok' }; } else { this.smartlogInstance.log('error', 'Message rejected because of bad passphrase'); return { status: 'error' }; // console.log(plugins.smarthash.sha256FromStringSync(this.passphrase)); } } /** * handles an array of authenticated logs * @param authenticatedLogsPackageArrayArg */ async handleManyAuthenticatedLogs(authenticatedLogsPackageArrayArg) { const promiseArray = []; for (const logPackage of authenticatedLogsPackageArrayArg) { promiseArray.push(this.handleAuthenticatedLog(logPackage)); } await Promise.all(promiseArray); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2wuY2xhc3Nlcy5zbWFydGxvZ3JlY2VpdmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfcmVjZWl2ZXIvc2wuY2xhc3Nlcy5zbWFydGxvZ3JlY2VpdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sMEJBQTBCLENBQUM7QUFnQnBEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUszQixZQUFZLHVCQUFpRDtRQUMzRCxJQUFJLENBQUMsVUFBVSxHQUFHLHVCQUF1QixDQUFDLFVBQVUsQ0FBQztRQUNyRCxJQUFJLENBQUMsaUJBQWlCO1lBQ3BCLHVCQUF1QixDQUFDLGlCQUFpQjtnQkFDekMsQ0FBQyxLQUFLLEVBQUUsYUFBYSxFQUFFLEVBQUU7b0JBQ3ZCLE9BQU8sSUFBSSxDQUFDO2dCQUNkLENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLGdCQUFnQixHQUFHLHVCQUF1QixDQUFDLGdCQUFnQixDQUFDO0lBQ25FLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQywwQkFBb0Q7UUFDdEYsTUFBTSxVQUFVLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUFDO1FBQ25ELE1BQU0sVUFBVSxHQUFHLDBCQUEwQixDQUFDLFVBQVUsQ0FBQztRQUV6RCxJQUNFLFVBQVUsS0FBSyxPQUFPLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDdEUsQ0FBQyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUMxQyxDQUFDO1lBQ0QsdUNBQXVDO1lBQ3ZDLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUN2RixVQUFVLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxDQUFDO1lBQ3ZFLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUM7WUFFNUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQzFCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsNENBQTRDLENBQUMsQ0FBQztZQUNqRixPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzNCLHdFQUF3RTtRQUMxRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQywyQkFBMkIsQ0FDdEMsZ0NBQTREO1FBRTVELE1BQU0sWUFBWSxHQUF3QixFQUFFLENBQUM7UUFDN0MsS0FBSyxNQUFNLFVBQVUsSUFBSSxnQ0FBZ0MsRUFBRSxDQUFDO1lBQzFELFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQyxDQUFDO0NBQ0YifQ==