Giter Club home page Giter Club logo

amqp-rpc's People

Contributors

alexbab90 avatar anton-kotenko avatar ghaiklor avatar jfromaniello avatar yarikos avatar zuker avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

amqp-rpc's Issues

Does server supports Promises?

e.g. following sample:

server.addCommand('print-hello-world', (name) => {
  console.log('Hello, ${name}!');
  
  return Promise.resolve({foo: 'bar'});
});

Taking advantage of rabbitmq 'Direct reply-to'

tl;dr

RabbitMQ has a pseudo-queue that can be used as the reply queue called amq.rabbitmq.reply-to. Using this queue is faster than declaring a transient queue on every client and easier to manage than creating a long-lived queue.


I have been experimenting with this library and reading all the documentation of rabbitmq.

This library seems to follow the example of "Tutorial 6":

https://www.rabbitmq.com/getstarted.html

which is good but I discover this bit: https://www.rabbitmq.com/direct-reply-to.html

Where does the client's queue come from? The client can declare a single-use queue for each request-response pair. But this is inefficient; even a transient unmirrored queue can be expensive to create and then delete (compared with the cost of sending a message). This is especially true in a cluster as all cluster nodes need to agree that the queue has been created, even if it is unmirrored.

So alternatively the client can create a long-lived queue for its replies. But this can be fiddly to manage, especially if the client itself is not long-lived.

The direct reply-to feature allows RPC clients to receive replies directly from their RPC server, without going through a reply queue. ("Directly" here still means going through the same connection and a RabbitMQ node; there is no direct network connection between RPC client and RPC server processes.)

I've been trying this and it works well with few small changes.

I am wondering if you are willing to accept a PR changing the default behavior, instead of declaring a queue when no repliesQueue is provided, using amq.rabbitmq.reply-to directly.

The only reason I can think for not doing this is keeping the library agnostic to rabbitmq, in that case I might contribute an example instead.

AMQPRPCClient should remove the request when timeout ?

The AMQPRPCClient will reject the rpc request when timeout without removing the request.
The promise have reject,so the timeout request(in the this._requests) is useless .If not remove it,will cause stack overflow?

clean npm install failing with errors

I cloned this repo and after npm install see following errors:

npm WARN prepublish-on-install As of npm@5, `prepublish` scripts are deprecated.
npm WARN prepublish-on-install Use `prepare` for build steps and `prepublishOnly` for upload-only.
npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.

> @elastic.io/[email protected] prepublish /Users/zubairov/Repositories/amqp-rpc
> npm run lint && npm run test


> @elastic.io/[email protected] lint /Users/zubairov/Repositories/amqp-rpc
> eslint --ignore-path .gitignore .


> @elastic.io/[email protected] test /Users/zubairov/Repositories/amqp-rpc
> istanbul cover _mocha

Failed to parse file: /Users/zubairov/Repositories/amqp-rpc/src/AMQPRPCClient.js
Transformation error; return original code
{ Error: Line 39: Unexpected identifier
    at constructError (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2407:21)
    at createError (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2426:17)
    at unexpectedTokenError (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2500:13)
    at throwUnexpectedToken (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2505:15)
    at parseClassBody (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5147:21)
    at parseClassDeclaration (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5169:21)
    at parseStatementListItem (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3981:24)
    at parseFunctionSourceElements (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:4869:23)
    at parseFunctionExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5074:16)
    at parsePrimaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3273:24)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseLeftHandSideExpressionAllowCall (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3414:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parsePostfixExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3490:16)
    at parseUnaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3550:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseBinaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3639:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseConditionalExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3696:16)
    at parseAssignmentExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3893:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseGroupExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3162:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parsePrimaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3239:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseLeftHandSideExpressionAllowCall (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3414:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parsePostfixExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3490:16)
    at parseUnaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3550:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseBinaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3639:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseConditionalExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3696:16)
    at parseAssignmentExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3893:16)
    at isolateCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2663:18)
    at parseExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3942:16)
    at parseExpressionStatement (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:4222:20)
    at parseStatement (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:4760:24)
    at parseStatementListItem (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3989:16)
    at parseScriptBody (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5490:25)
    at parseProgram (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5506:16)
    at Object.parse (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5690:23)
    at Instrumenter.instrumentSync (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/instrumenter.js:459:31)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:54:31
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:105:23)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/zubairov/Repositories/amqp-rpc/src/index.js:9:59)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:107:24)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/zubairov/Repositories/amqp-rpc/test/integration/amqpevents.test.js:9:5)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:109:37)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/lib/mocha.js:231:27
    at Array.forEach (<anonymous>)
    at Mocha.loadFiles (/Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/lib/mocha.js:228:14)
    at Mocha.run (/Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/lib/mocha.js:514:10)
    at Object.<anonymous> (/Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/bin/_mocha:480:18)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:109:37)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Function.Module.runMain (module.js:665:10)
    at runFn (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/command/common/run-with-cover.js:122:16)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/command/common/run-with-cover.js:251:17
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/util/file-matcher.js:68:16
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:52:16
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:361:13
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:52:16
    at done (/Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:246:17)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:44:16
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:358:17
    at LOOP (fs.js:1754:14)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
  lineNumber: 39,
  description: 'Unexpected identifier',
  index: 1131 }
Failed to parse file: /Users/zubairov/Repositories/amqp-rpc/src/AMQPRPCServer.js
Transformation error; return original code
{ Error: Line 38: Unexpected identifier
    at constructError (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2407:21)
    at createError (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2426:17)
    at unexpectedTokenError (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2500:13)
    at throwUnexpectedToken (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2505:15)
    at parseClassBody (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5147:21)
    at parseClassDeclaration (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5169:21)
    at parseStatementListItem (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3981:24)
    at parseFunctionSourceElements (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:4869:23)
    at parseFunctionExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5074:16)
    at parsePrimaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3273:24)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseLeftHandSideExpressionAllowCall (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3414:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parsePostfixExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3490:16)
    at parseUnaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3550:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseBinaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3639:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseConditionalExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3696:16)
    at parseAssignmentExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3893:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseGroupExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3162:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parsePrimaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3239:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseLeftHandSideExpressionAllowCall (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3414:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parsePostfixExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3490:16)
    at parseUnaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3550:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseBinaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3639:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseConditionalExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3696:16)
    at parseAssignmentExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3893:16)
    at isolateCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2663:18)
    at parseExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3942:16)
    at parseExpressionStatement (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:4222:20)
    at parseStatement (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:4760:24)
    at parseStatementListItem (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3989:16)
    at parseScriptBody (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5490:25)
    at parseProgram (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5506:16)
    at Object.parse (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5690:23)
    at Instrumenter.instrumentSync (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/instrumenter.js:459:31)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:54:31
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:105:23)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/zubairov/Repositories/amqp-rpc/src/index.js:9:144)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:107:24)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/zubairov/Repositories/amqp-rpc/test/integration/amqpevents.test.js:9:5)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:109:37)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/lib/mocha.js:231:27
    at Array.forEach (<anonymous>)
    at Mocha.loadFiles (/Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/lib/mocha.js:228:14)
    at Mocha.run (/Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/lib/mocha.js:514:10)
    at Object.<anonymous> (/Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/bin/_mocha:480:18)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:109:37)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Function.Module.runMain (module.js:665:10)
    at runFn (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/command/common/run-with-cover.js:122:16)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/command/common/run-with-cover.js:251:17
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/util/file-matcher.js:68:16
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:52:16
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:361:13
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:52:16
    at done (/Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:246:17)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:44:16
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:358:17
    at LOOP (fs.js:1754:14)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
  lineNumber: 38,
  description: 'Unexpected identifier',
  index: 1144 }
Failed to parse file: /Users/zubairov/Repositories/amqp-rpc/src/AMQPEventsSender.js
Transformation error; return original code
{ Error: Line 35: Unexpected identifier
    at constructError (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2407:21)
    at createError (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2426:17)
    at unexpectedTokenError (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2500:13)
    at throwUnexpectedToken (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2505:15)
    at parseClassBody (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5147:21)
    at parseClassDeclaration (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5169:21)
    at parseStatementListItem (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3981:24)
    at parseFunctionSourceElements (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:4869:23)
    at parseFunctionExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5074:16)
    at parsePrimaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3273:24)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseLeftHandSideExpressionAllowCall (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3414:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parsePostfixExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3490:16)
    at parseUnaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3550:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseBinaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3639:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseConditionalExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3696:16)
    at parseAssignmentExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3893:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseGroupExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3162:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parsePrimaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3239:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseLeftHandSideExpressionAllowCall (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3414:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parsePostfixExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3490:16)
    at parseUnaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3550:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseBinaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3639:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseConditionalExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3696:16)
    at parseAssignmentExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3893:16)
    at isolateCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2663:18)
    at parseExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3942:16)
    at parseExpressionStatement (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:4222:20)
    at parseStatement (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:4760:24)
    at parseStatementListItem (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3989:16)
    at parseScriptBody (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5490:25)
    at parseProgram (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5506:16)
    at Object.parse (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5690:23)
    at Instrumenter.instrumentSync (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/instrumenter.js:459:31)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:54:31
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:105:23)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/zubairov/Repositories/amqp-rpc/src/index.js:9:390)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:107:24)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/zubairov/Repositories/amqp-rpc/test/integration/amqpevents.test.js:9:5)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:109:37)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/lib/mocha.js:231:27
    at Array.forEach (<anonymous>)
    at Mocha.loadFiles (/Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/lib/mocha.js:228:14)
    at Mocha.run (/Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/lib/mocha.js:514:10)
    at Object.<anonymous> (/Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/bin/_mocha:480:18)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:109:37)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Function.Module.runMain (module.js:665:10)
    at runFn (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/command/common/run-with-cover.js:122:16)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/command/common/run-with-cover.js:251:17
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/util/file-matcher.js:68:16
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:52:16
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:361:13
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:52:16
    at done (/Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:246:17)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:44:16
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:358:17
    at LOOP (fs.js:1754:14)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
  lineNumber: 35,
  description: 'Unexpected identifier',
  index: 1078 }
Failed to parse file: /Users/zubairov/Repositories/amqp-rpc/src/AMQPEventsReceiver.js
Transformation error; return original code
{ Error: Line 35: Unexpected identifier
    at constructError (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2407:21)
    at createError (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2426:17)
    at unexpectedTokenError (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2500:13)
    at throwUnexpectedToken (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2505:15)
    at parseClassBody (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5147:21)
    at parseClassDeclaration (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5169:21)
    at parseStatementListItem (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3981:24)
    at parseFunctionSourceElements (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:4869:23)
    at parseFunctionExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5074:16)
    at parsePrimaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3273:24)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseLeftHandSideExpressionAllowCall (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3414:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parsePostfixExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3490:16)
    at parseUnaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3550:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseBinaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3639:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseConditionalExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3696:16)
    at parseAssignmentExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3893:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseGroupExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3162:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parsePrimaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3239:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseLeftHandSideExpressionAllowCall (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3414:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parsePostfixExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3490:16)
    at parseUnaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3550:20)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseBinaryExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3639:16)
    at inheritCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2681:18)
    at parseConditionalExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3696:16)
    at parseAssignmentExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3893:16)
    at isolateCoverGrammar (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:2663:18)
    at parseExpression (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3942:16)
    at parseExpressionStatement (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:4222:20)
    at parseStatement (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:4760:24)
    at parseStatementListItem (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:3989:16)
    at parseScriptBody (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5490:25)
    at parseProgram (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5506:16)
    at Object.parse (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/node_modules/esprima/esprima.js:5690:23)
    at Instrumenter.instrumentSync (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/instrumenter.js:459:31)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:54:31
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:105:23)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/zubairov/Repositories/amqp-rpc/src/index.js:9:483)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:107:24)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/zubairov/Repositories/amqp-rpc/test/integration/amqpevents.test.js:9:5)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:109:37)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Module.require (module.js:568:17)
    at require (internal/module.js:11:18)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/lib/mocha.js:231:27
    at Array.forEach (<anonymous>)
    at Mocha.loadFiles (/Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/lib/mocha.js:228:14)
    at Mocha.run (/Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/lib/mocha.js:514:10)
    at Object.<anonymous> (/Users/zubairov/Repositories/amqp-rpc/node_modules/mocha/bin/_mocha:480:18)
    at Module._compile (module.js:624:30)
    at Object.Module._extensions..js (module.js:635:10)
    at Object.Module._extensions.(anonymous function) [as .js] (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/hook.js:109:37)
    at Module.load (module.js:545:32)
    at tryModuleLoad (module.js:508:12)
    at Function.Module._load (module.js:500:3)
    at Function.Module.runMain (module.js:665:10)
    at runFn (/Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/command/common/run-with-cover.js:122:16)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/command/common/run-with-cover.js:251:17
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/istanbul/lib/util/file-matcher.js:68:16
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:52:16
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:361:13
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:52:16
    at done (/Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:246:17)
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:44:16
    at /Users/zubairov/Repositories/amqp-rpc/node_modules/async/lib/async.js:358:17
    at LOOP (fs.js:1754:14)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
  lineNumber: 35,
  description: 'Unexpected identifier',
  index: 1059 }
 50  -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_,------,
 4   -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_|   /\_/\ 
 0   -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-^|__( x .x) 
     -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-  ""  "" 

  50 passing (153ms)
  4 failing

  1) AMQPEventsSender AMQPEventsReceiver "before each" hook for "should send events throught amqp":
     Error: connect ECONNREFUSED 127.0.0.1:5672
      at Object._errnoException (util.js:1026:11)
      at _exceptionWithHostPort (util.js:1049:20)
      at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1174:14)

  2) AMQPRPCClient Should handle timeouts:
     Error: connect ECONNREFUSED 127.0.0.1:5672
      at Object._errnoException (util.js:1026:11)
      at _exceptionWithHostPort (util.js:1049:20)
      at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1174:14)

  3) AMQPRPCClient to AMQPRPCServer "before each" hook for "Should bypass arguments from proxy call to agent":
     Error: connect ECONNREFUSED 127.0.0.1:5672
      at Object._errnoException (util.js:1026:11)
      at _exceptionWithHostPort (util.js:1049:20)
      at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1174:14)

  4) AMQPRPCClient to AMQPRPCServer "after each" hook for "Should bypass arguments from proxy call to agent":
     TypeError: Cannot read property 'disconnect' of undefined
      at Context.afterEach (test/unit/AMQPRPCServer.test.js:25:16)



=============================================================================
Writing coverage object [/Users/zubairov/Repositories/amqp-rpc/coverage/coverage.json]
Writing coverage reports at [/Users/zubairov/Repositories/amqp-rpc/coverage]
=============================================================================

=============================== Coverage summary ===============================
Statements   : 100% ( 41/41 )
Branches     : 100% ( 6/6 )
Functions    : 100% ( 10/10 )
Lines        : 100% ( 41/41 )
================================================================================
npm ERR! code ELIFECYCLE
npm ERR! errno 4
npm ERR! @elastic.io/[email protected] test: `istanbul cover _mocha`
npm ERR! Exit status 4
npm ERR! 
npm ERR! Failed at the @elastic.io/[email protected] test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/zubairov/.npm/_logs/2018-01-05T09_42_10_456Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 4
npm ERR! @elastic.io/[email protected] prepublish: `npm run lint && npm run test`
npm ERR! Exit status 4
npm ERR! 
npm ERR! Failed at the @elastic.io/[email protected] prepublish script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/zubairov/.npm/_logs/2018-01-05T09_42_10_518Z-debug.log

Decoupling RPC Client / Server?

Hello!

I'm attempting to run the RPC server and client in separate processes. I've been completely unable to do so. Is there any chance I'm missing something and you have an example of this? Here's what I've done:

  1. I tried to pass in _requestsQueue to both the client and server so that the names wouldn't be randomly generated. That then failed as my queue didn't exist since assertQueue will only run when _requestsQueue is empty. I've temporarily worked around that, but now I'm encountering a new error.

  2. I can launch the server successfully due to my patch from the first step, now I can have the client remotely connect and issue a single rpc request successfully. The second time I call sendCommand without tearing everything down it fails:

Error: Unknown command print-hello-world

I'm not sure how far down this rabbit hole I should go in case I'm missing something. Do you have any thoughts on how I can separate the client / server? Ideally, I'd like to have multiple consumers as well.

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.