[ https://issues.apache.org/jira/browse/THRIFT-2064?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sherban Drulea updated THRIFT-2064: ----------------------------------- Description: When passing an object with a boolean or integer via the thrift-npm, I get the following error: ERROR:Object false has no method 'copy' The error is from the many copy() calls in thrift-npm: thrift/lib/thrift/transport.js transport.js calls copy() on primitive thrift function parameters (i.e. int and boolean). Example IDL: struct SetTeamPrivilegesParams { 1: optional i32 teamId, 2: optional string platform, 3: optional string title, 4: optional map<string,bool> privileges } /** * Sets the bit offsets in the Key Archive index for the various privileges sent by the client. **/ SetTeamPrivilegesResponse setTeamPrivileges(1: SetTeamPrivilegesParams params) throws (1: ServiceException ex) Example Client Code (vars in 'values' are all boolean): var updateTeamParams = new ttypes.UpdateTeamParams({ teamId: teamId, platform: platform, title: title, values: { 'canEditEmblem': canEditEmblem, 'isBanned': isBanned, 'canEditMotto': canEditMotto, 'canJoinOperations': canJoinOperations, 'canEditBio': canEditBio, 'canEditRulesOfConduct': canEditRulesOfConduct, 'canEditMottoBg': canEditMottoBg, 'canEditClanTag': canEditClanTag, 'canEditMotd': canEditMotd } }); var argsArray = [updateTeamParams]; try{ tc.call( 'setTeamPrivileges', argsArray, restResponse ); } catch(err){ console.log( "ERROR:" + err.message ) }; ERROR:Object false has no method 'copy' Please fix transports.js to handle JS primitives. was: When passing an object with a boolean or integer via the thrift-npm, I get the following error: ERROR:Object false has no method 'copy' The error is from the many copy() calls in thrift-npm: thrift/lib/thrift/transport.js Please fix transports.js to handle JS primitives. > Node thrift can't handle boolean or int > --------------------------------------- > > Key: THRIFT-2064 > URL: https://issues.apache.org/jira/browse/THRIFT-2064 > Project: Thrift > Issue Type: Bug > Components: Node.js - Library > Affects Versions: 0.9 > Reporter: Sherban Drulea > Priority: Critical > > When passing an object with a boolean or integer via the thrift-npm, I get > the following error: > ERROR:Object false has no method 'copy' > The error is from the many copy() calls in thrift-npm: > thrift/lib/thrift/transport.js > transport.js calls copy() on primitive thrift function parameters (i.e. int > and boolean). > Example IDL: > struct SetTeamPrivilegesParams { > 1: optional i32 teamId, > 2: optional string platform, > 3: optional string title, > 4: optional map<string,bool> privileges > } > /** > * Sets the bit offsets in the Key Archive index for the various privileges > sent by the client. > **/ > SetTeamPrivilegesResponse setTeamPrivileges(1: SetTeamPrivilegesParams > params) throws (1: ServiceException ex) > Example Client Code (vars in 'values' are all boolean): > var updateTeamParams = new ttypes.UpdateTeamParams({ > teamId: teamId, > platform: platform, > title: title, > values: { 'canEditEmblem': canEditEmblem, > 'isBanned': isBanned, > 'canEditMotto': canEditMotto, > 'canJoinOperations': canJoinOperations, > 'canEditBio': canEditBio, > 'canEditRulesOfConduct': canEditRulesOfConduct, > 'canEditMottoBg': canEditMottoBg, > 'canEditClanTag': canEditClanTag, > 'canEditMotd': canEditMotd > } > }); > var argsArray = [updateTeamParams]; > try{ > tc.call( 'setTeamPrivileges', argsArray, restResponse ); > } > catch(err){ console.log( "ERROR:" + err.message ) }; > ERROR:Object false has no method 'copy' > Please fix transports.js to handle JS primitives. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira