[ https://issues.apache.org/jira/browse/THRIFT-3302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jens Geyer resolved THRIFT-3302. -------------------------------- Resolution: Fixed Fix Version/s: 0.9.3 Committed, thank you! > Go JSON protocol should encode Thrift byte type as signed integer string > ------------------------------------------------------------------------ > > Key: THRIFT-3302 > URL: https://issues.apache.org/jira/browse/THRIFT-3302 > Project: Thrift > Issue Type: Bug > Components: Go - Library > Reporter: Nobuaki Sukegawa > Assignee: Nobuaki Sukegawa > Fix For: 0.9.3 > > > h3. Problem > Go implementation of JSON and simple JSON protocols encode Thrift byte type > field as unsigned 8bit integer. > i.e. -1 is encoded to "255" by Go implementation while "-1" by others like > C++, Java and Python. > h3. Reproduce > Cross test with go server and py client (JSON protocols of course). > (like "expected -127 but got 129") > Static-typed clients (such as C++ and Java) are not likely to notice the > difference because of integer overflow. > h3. Fix > Explicitly convert the unsigned 8-bit value back to signed one in JSON > protocols before converting to text. -- This message was sent by Atlassian JIRA (v6.3.4#6332)