Comparing version 1.3.101 to 1.4.0
{ | ||
"name": "darcon", | ||
"version": "1.3.101", | ||
"version": "1.4.0", | ||
"description": "Simple Messaging/Service Bus for node entities over NatsIO", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
@@ -25,4 +25,5 @@ let attributesRespected = [ 'user', 'files' ] | ||
darcon: '/DarconRPC', | ||
attributesRespected, | ||
gatekeeper: {} | ||
attributesRespected | ||
// async gatekeeper ( request, flowID, processID, entity, message, params ) {}, | ||
// async conformer ( request, flowID, processID, entity, message, res ) {} | ||
}, | ||
@@ -29,0 +30,0 @@ ws: { |
@@ -28,8 +28,14 @@ let Clerobee = require('clerobee') | ||
let content = newRequest.packet || newRequest.body | ||
let parameters = Array.isArray( content ) ? content : (content.params || []) | ||
let ps = newRequest.params | ||
try { | ||
let res = await Darcon.comm( ps.mode || MODE_REQUEST, ps.flowID, ps.processID, ps.entity, ps.message, ...(Array.isArray( content ) ? content : content.params || []) ) | ||
if ( options.gatekeeper && options.gatekeeper[ ps.message ] ) | ||
await options.gatekeeper[ ps.message ]( res ) | ||
if ( options.gatekeeper ) | ||
await options.gatekeeper( request, ps.flowID, ps.processID, ps.entity, ps.message, parameters ) | ||
let res = await Darcon.comm( ps.mode || MODE_REQUEST, ps.flowID, ps.processID, ps.entity, ps.message, ...parameters ) | ||
if ( options.conformer ) | ||
await options.conformer( request, ps.flowID, ps.processID, ps.entity, ps.message, res ) | ||
return res | ||
@@ -53,7 +59,12 @@ } catch (err) { | ||
let parameters = Array.isArray( content ) ? content : (content.params || []) | ||
try { | ||
let res = await Darcon.comm( content.mode || MODE_REQUEST, content.flowID, content.processID, content.entity, content.message, ...Array.isArray( content ) ? content : content.params ) | ||
if ( options.gatekeeper && options.gatekeeper[ content.message ] ) | ||
await options.gatekeeper[ content.message ]( res ) | ||
if ( options.gatekeeper ) | ||
await options.gatekeeper( request, content.flowID, content.processID, content.entity, content.message, parameters ) | ||
let res = await Darcon.comm( content.mode || MODE_REQUEST, content.flowID, content.processID, content.entity, content.message, ...parameters ) | ||
if ( options.conformer ) | ||
await options.conformer( request, content.flowID, content.processID, content.entity, content.message, res ) | ||
return res | ||
@@ -60,0 +71,0 @@ } catch (err) { |
56747
1324