From 4ba1160c41805ac6bc3548baadf0a700af8925ae Mon Sep 17 00:00:00 2001 From: Jens Geyer Date: Tue, 10 Sep 2013 21:33:55 +0200 Subject: [PATCH] THRIFT-2176 TSimpleJSONProtocol.ReadFieldBegin() does not return field type and ID Patch: Jens Geyer --- lib/go/thrift/serializer_test.go | 2 +- lib/go/thrift/simple_json_protocol.go | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/go/thrift/serializer_test.go b/lib/go/thrift/serializer_test.go index 59126792..0f3f7d78 100644 --- a/lib/go/thrift/serializer_test.go +++ b/lib/go/thrift/serializer_test.go @@ -146,7 +146,7 @@ func TestSerializer(t *testing.T) { 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 3755a2d9..71598acb 100644 --- a/lib/go/thrift/simple_json_protocol.go +++ b/lib/go/thrift/simple_json_protocol.go @@ -330,6 +330,9 @@ func (p *TSimpleJSONProtocol) ReadFieldBegin() (string, TType, int16, error) { 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 } -- 2.17.1