THRIFT-2176 TSimpleJSONProtocol.ReadFieldBegin() does not return field type and ID
Patch: Jens Geyer
diff --git a/lib/go/thrift/serializer_test.go b/lib/go/thrift/serializer_test.go
index 5912679..0f3f7d7 100644
--- a/lib/go/thrift/serializer_test.go
+++ b/lib/go/thrift/serializer_test.go
@@ -146,7 +146,7 @@
protocol_factories = make(map[string]ProtocolFactory)
protocol_factories["Binary"] = NewTBinaryProtocolFactoryDefault()
protocol_factories["Compact"] = NewTCompactProtocolFactory()
- protocol_factories["SimpleJSON"] = NewTSimpleJSONProtocolFactory()
+ //protocol_factories["SimpleJSON"] = NewTSimpleJSONProtocolFactory() - write only, can't be read back by design
protocol_factories["JSON"] = NewTJSONProtocolFactory()
var tests map[string]func(*testing.T, ProtocolFactory) (bool, error)
diff --git a/lib/go/thrift/simple_json_protocol.go b/lib/go/thrift/simple_json_protocol.go
index 3755a2d..71598ac 100644
--- a/lib/go/thrift/simple_json_protocol.go
+++ b/lib/go/thrift/simple_json_protocol.go
@@ -330,6 +330,9 @@
case JSON_QUOTE:
p.reader.ReadByte()
name, err := p.ParseStringBody()
+ // simplejson is not meant to be read back into thrift
+ // - see http://wiki.apache.org/thrift/ThriftUsageJava
+ // - use JSON instead
if err != nil {
return name, STOP, 0, err
}