[
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)