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)

Reply via email to