clientlinker-core
v12.2.2
Published
Linker all clients whether rpc, addon, http request, mock data, local file ...
Downloads
64
Readme
ClientLinker-Core
Linker all clients whether rpc, addon, http request, mock data, local file ...
A solution to break out of network and OS.
Install
npm install clientlinker-core --save
Usage
Options
Linker Options Exmaple, see Optons or Self Flows Options
{
flows: ['logger', 'pkghandler', 'httpproxy'],
defaults: {
timeout: 4000
},
clients: {
mail: {
// modify defaults flows
flows: ['confighandler', 'httpproxy'],
confighandler: {
read: function(query, body, callback, options) {
callback(null, {content: 'hi,'});
},
send: function(query, body, callback, options) {
return Promise.resolve({id: 'xxxx'});
}
}
},
// use defaults
profile: {
pkghandler: __dirname+'/clients/profile.js'
}
}
}
Initialize
// `clientlinker.conf.js` file content
var clientlinker = require('clientlinker-core');
var linker = clientlinker(options);
// Register flows
linker.flow('confighandler', require('clientlinker-flow-confighandler'));
linker.flow('logger', require('clientlinker-flow-logger'));
linker.flow('httpproxy', require('clientlinker-flow-httpproxy'));
linker.flow('pkghandler', require('clientlinker-flow-pkghandler'));
// Add clients outsid of config step
linker.client(name, clientOptions);
module.exports = linker;
Run
Run in Server
var linker = require('./clientlinker.conf.js');
linker.run('mail.read', userid, {mailid: 'xxxx'}, options)
.then(function(data){});
Upgrade
10x
Remove deps handlers
runtime.runOptions
runtime.methodKey
runtime.lastFlow
flow.register
runtime.getRunnedFlowByName
runtime.runnedFlows
runtime.isFinished
runtime.isStarted
linker.add
linker.addClient
linker.parseMethodKey
linker.getFlow
linker.runByKey
linker.bindFlow
linker.loadFlow
linker.onInit
linker.runInShell
Remove attrs
runtime.promise
Remove options
option.clientDefaultOptions
Flow not support init
callback.
Remove callback handlers of flow.run(runtime, callback)
callback.toFuncCallback
callback.reject
callback.resolve
callback.callback
callback.nextAndResolve
callback.promise
callback.nextRunner
flow.run
ret switch to Promise always.
Remove retry
event of runtime
. Add retry
event of linker
.