1 | const orion = require('..');
|
2 |
|
3 | var codecArg = process.argv[2];
|
4 |
|
5 | if (!codecArg) {
|
6 | console.log('Usage: reqres <codec>');
|
7 | process.exit();
|
8 | }
|
9 |
|
10 | transport = new orion.NatsTransport();
|
11 |
|
12 | switch (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 |
|
24 | const service = new orion.Service('demo', {
|
25 | transport: transport,
|
26 | codec: codec
|
27 | });
|
28 |
|
29 | const client = new orion.Client({
|
30 | service: 'demo',
|
31 | transport: transport,
|
32 | codec: codec
|
33 | });
|
34 |
|
35 | console.log();
|
36 | console.log(' transport:', 'NATS');
|
37 | console.log(' codec:', codecArg);
|
38 |
|
39 | service.handle('time', (req, reply) => {
|
40 | reply(null, new Date());
|
41 | });
|
42 |
|
43 | service.handle('add', (req, reply) => {
|
44 | reply(new Error('too easy'), parseInt(req.params.a) + parseInt(req.params.b));
|
45 | });
|
46 |
|
47 | service.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 |