Andrew de Andrade created THRIFT-2997: -----------------------------------------
Summary: nodejs: Convert Protocols into event-emitters Key: THRIFT-2997 URL: https://issues.apache.org/jira/browse/THRIFT-2997 Project: Thrift Issue Type: Bug Components: Node.js - Compiler, Node.js - Library Reporter: Andrew de Andrade Currently, methods like readMessageBegin() throw errors under certain conditions. In NodeJS, throwing should never be used for flow control. TODO: convert TJSONProtocol, TBinaryProtocol and TCompactProtocol into event emitters that emit an 'error' event. Once converted, find all method calls that might trigger an error and make sure that a callback is bound to the transport error event, such as in the generated Processor code. For example, the line {{var r = input.readMessageBegin();}} in Processor.process should return an error if it fails. r should be checked to see if it is an instanceof error. If it is, that error should be written to a new message on output and then the output should be flushed (just like what happens with TApplicationExceptionType.UNKNOWN_METHOD) -- This message was sent by Atlassian JIRA (v6.3.4#6332)