UNPKG

@betit/orion

Version:

Pluggable microservice framework

66 lines (52 loc) 1.41 kB
const orion = require('..'); var codecArg = process.argv[2]; if (!codecArg) { console.log('Usage: reqres <codec>'); process.exit(); } transport = new orion.NatsTransport(); switch (codecArg) { case 'msgp': case 'msgpack': codecArg = 'MessagePack'; codec = new orion.MsgPackCodec(); break; case 'json': default: codecArg = 'JSON'; codec = new orion.JsonCodec(); } const service = new orion.Service('demo', { transport: transport, codec: codec }); const client = new orion.Client({ service: 'demo', transport: transport, codec: codec }); console.log(); console.log(' transport:', 'NATS'); console.log(' codec:', codecArg); service.handle('time', (req, reply) => { reply(null, new Date()); }); service.handle('add', (req, reply) => { reply(new Error('too easy'), parseInt(req.params.a) + parseInt(req.params.b)); }); service.listen(() => { console.log(); console.log(` service: ${service}`); client.call('time', (err, res) => { console.log(); console.log(' error:', err); console.log(' result:', res); client.call('add', { a: 3, b: 2 }, (err, res) => { console.log(); console.log(' error:', err); console.log(' result:', res); client.close(); service.close(); }); }); });