UNPKG

1.41 kBJavaScriptView Raw
1const orion = require('..');
2
3var codecArg = process.argv[2];
4
5if (!codecArg) {
6 console.log('Usage: reqres <codec>');
7 process.exit();
8}
9
10transport = new orion.NatsTransport();
11
12switch (codecArg) {
13 case 'msgp':
14 case 'msgpack':
15 codecArg = 'MessagePack';
16 codec = new orion.MsgPackCodec();
17 break;
18 case 'json':
19 default:
20 codecArg = 'JSON';
21 codec = new orion.JsonCodec();
22}
23
24const service = new orion.Service('demo', {
25 transport: transport,
26 codec: codec
27});
28
29const client = new orion.Client({
30 service: 'demo',
31 transport: transport,
32 codec: codec
33});
34
35console.log();
36console.log(' transport:', 'NATS');
37console.log(' codec:', codecArg);
38
39service.handle('time', (req, reply) => {
40 reply(null, new Date());
41});
42
43service.handle('add', (req, reply) => {
44 reply(new Error('too easy'), parseInt(req.params.a) + parseInt(req.params.b));
45});
46
47service.listen(() => {
48 console.log();
49 console.log(` service: ${service}`);
50
51 client.call('time', (err, res) => {
52 console.log();
53 console.log(' error:', err);
54 console.log(' result:', res);
55
56 client.call('add', { a: 3, b: 2 }, (err, res) => {
57 console.log();
58 console.log(' error:', err);
59 console.log(' result:', res);
60
61 client.close();
62 service.close();
63 });
64 });
65
66});
\No newline at end of file