Nobuaki Sukegawa created THRIFT-3302:
----------------------------------------

             Summary: 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


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)

Reply via email to