[
https://issues.apache.org/jira/browse/THRIFT-2923?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Radoslaw Gruchalski updated THRIFT-2923:
----------------------------------------
Patch Info: Patch Available
Pull request created: https://github.com/apache/thrift/pull/342
> JavaScript client assumes a message being written
> -------------------------------------------------
>
> Key: THRIFT-2923
> URL: https://issues.apache.org/jira/browse/THRIFT-2923
> Project: Thrift
> Issue Type: Bug
> Components: JavaScript - Library
> Affects Versions: 0.9.2
> Reporter: Radoslaw Gruchalski
> Priority: Minor
>
> I am working on a solution which uses Thrift directly, without embedded RPC
> framework, it's sending messages via UDP. Currently being integrated into
> Chrome Extension and I found a bug when doing the following:
> {noformat}
> var transport = new Thrift.TWebSocketTransport("http://dummy");
> var protocol = new Thrift.Protocol( transport );
> digest.write( protocol );
> {noformat}
> The error is:
> {noformat}
> Cannot read property 'push' of undefined.
> {noformat}
> The reason for this behaviour is:
> digest.write calls protocol.writeStructBegin which uses
> this.tpos.push(this.tstack.length) in
> https://github.com/apache/thrift/blob/master/lib/js/src/thrift.js#L778 but
> tpos and tstack aren't defined unless writeMessageBegin is called in
> https://github.com/apache/thrift/blob/master/lib/js/src/thrift.js#L751.
> Expected behaviour:
> tstack and tpos should be defined in the Protocol "constructor", here:
> https://github.com/apache/thrift/blob/master/lib/js/src/thrift.js#L687.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)