diff --git a/go.mod b/go.mod index 6e26e9ade2..5abb6405d7 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/bytedance/gopkg v0.0.0-20240514070511-01b2cbcf35e1 github.com/bytedance/sonic v1.11.8 github.com/cloudwego/configmanager v0.2.2 - github.com/cloudwego/dynamicgo v0.2.8 + github.com/cloudwego/dynamicgo v0.2.9 github.com/cloudwego/fastpb v0.0.4 github.com/cloudwego/frugal v0.1.15 github.com/cloudwego/localsession v0.0.2 diff --git a/go.sum b/go.sum index 3479e3feb5..c352926d2a 100644 --- a/go.sum +++ b/go.sum @@ -30,8 +30,8 @@ github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/ github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= github.com/cloudwego/configmanager v0.2.2 h1:sVrJB8gWYTlPV2OS3wcgJSO9F2/9Zbkmcm1Z7jempOU= github.com/cloudwego/configmanager v0.2.2/go.mod h1:ppiyU+5TPLonE8qMVi/pFQk2eL3Q4P7d4hbiNJn6jwI= -github.com/cloudwego/dynamicgo v0.2.8 h1:rCkVEZzXpdnM1dlunu6mMz5pDtZfBQFv9/FAk1hOoOE= -github.com/cloudwego/dynamicgo v0.2.8/go.mod h1:F3jlbPmlNzhcuDMXwZoBJ7rJKpg2iE+TnIy9pSJiGzs= +github.com/cloudwego/dynamicgo v0.2.9 h1:MHGyGmdFT8iMOsM5S9iutjZB0csu2LupsTTHyi6a8pY= +github.com/cloudwego/dynamicgo v0.2.9/go.mod h1:F3jlbPmlNzhcuDMXwZoBJ7rJKpg2iE+TnIy9pSJiGzs= github.com/cloudwego/fastpb v0.0.4 h1:/ROVVfoFtpfc+1pkQLzGs+azjxUbSOsAqSY4tAAx4mg= github.com/cloudwego/fastpb v0.0.4/go.mod h1:/V13XFTq2TUkxj2qWReV8MwfPC4NnPcy6FsrojnsSG0= github.com/cloudwego/frugal v0.1.15 h1:LC55UJKhQPMFVjDPbE+LJcF7etZjSx6uokG1tk0wPK0= diff --git a/pkg/generic/jsonpb_test/data/example2_pb.bin b/pkg/generic/jsonpb_test/data/example2_pb.bin index 8993609d17..4cfd1c9fe6 100644 --- a/pkg/generic/jsonpb_test/data/example2_pb.bin +++ b/pkg/generic/jsonpb_test/data/example2_pb.bin @@ -1,37 +1,37 @@ -hello{{1L6@: hello_innerB J +hello{{ {(1L6@: hello_innerB J +m4dddJ m1aaaJ m2bbbJ -m3cccJ -m4dddR bcccbdddbaaabbbbjr u32aar u32bbr u32ccr u32ddz u64ddz u64aaz u64bbz u64cc 64aaa 64bbb 64ccc 64dddTP -logIdcalleraddr"client*env2 -2abbb2 -3accc2 -4addd2 -1aaaa_[ +m3cccR bbbbbcccbdddbaaajr u32ccr u32ddr u32aar u32bbz u64aaz u64bbz u64ccz u64dd 64aaa 64bbb 64ccc 64ddd_[ logId2caller2addr2"client2*env22 +1aaaa22 + 2abbb22 3accc22 -4addd22 - -1aaaa2P +4addd2TP logIdcalleraddr"client*env2 1aaaa2 2abbb2 3accc2 -4addd[ +4adddP +logIdcalleraddr"client*env2 +3accc2 +4addd2 +1aaaa2 +2abbb[ logId2caller2addr2"client2*env22 +4addd22 + 1aaaa22 2abbb22 -3accc22 - -4addd2U +3accc2U 1P logIdcalleraddr"client*env2 4addd2 diff --git a/pkg/generic/jsonpb_test/generic_init.go b/pkg/generic/jsonpb_test/generic_init.go index ac26df51e8..4818968a6c 100644 --- a/pkg/generic/jsonpb_test/generic_init.go +++ b/pkg/generic/jsonpb_test/generic_init.go @@ -214,91 +214,11 @@ func getVoidRes() string { } func getExampleMethod2Req() string { - return `{ - "Msg":"hello", - "A":25, - "InnerBase2":{ - "Bool":true, - "Uint32":123, - "Uint64":123, - "Double":22.3, - "String":"hello_inner", - "ListInt32":[12,13,14,15,16,17], - "MapStringString":{"m1":"aaa","m2":"bbb"}, - "SetInt32":[200,201,202,203,204,205], - "MapInt32String":{"1":"aaa","2":"bbb","3":"ccc","4":"ddd"}, - "Binary":"AQIDBA==", - "MapUint32String":{"1":"u32aa","2":"u32bb","3":"u32cc","4":"u32dd"}, - "MapUint64String":{"1":"u64aa","2":"u64bb","3":"u64cc","4":"u64dd"}, - "MapInt64String":{"1":"64aaa","2":"64bbb","3":"64ccc","4":"64ddd"}, - "MapInt64Base":{ - "1":{ - "LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"} - }, - "2":{ - "LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"} - } - }, - "MapStringBase":{ - "1":{ - "LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"} - }, - "2":{ - "LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"} - } - }, - "ListBase":[ - {"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"}}, - {"LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"}} - ], - "ListString":["111","222","333","44","51","6"], - "Base":{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1b":"aaa","2b":"bbb","3b":"ccc","4b":"ddd"}} - } -}` + return `{"Msg":"hello","A":25,"InnerBase2":{"Bool":true,"Uint32":123,"Uint64":123,"Int32":123,"SInt64":123,"Double":22.3,"String":"hello_inner","ListInt32":[12,13,14,15,16,17],"MapStringString":{"m1":"aaa","m2":"bbb"},"ListSInt64":[200,201,202,203,204,205],"MapInt32String":{"1":"aaa","2":"bbb","3":"ccc","4":"ddd"},"Binary":"AQIDBA==","MapUint32String":{"1":"u32aa","2":"u32bb","3":"u32cc","4":"u32dd"},"MapUint64String":{"1":"u64aa","2":"u64bb","3":"u64cc","4":"u64dd"},"MapInt64String":{"1":"64aaa","2":"64bbb","3":"64ccc","4":"64ddd"},"MapInt64Base":{"1":{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"}},"2":{"LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"}}},"MapStringBase":{"1":{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"}},"2":{"LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"}}},"ListBase":[{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"}},{"LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"}}],"ListString":["111","222","333","44","51","6"],"Base":{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1b":"aaa","2b":"bbb","3b":"ccc","4b":"ddd"}}}}` } func getExampleMethod2Res() string { - return `{ - "Msg":"hello", - "A":25, - "InnerBase2":{ - "Bool":true, - "Uint32":123, - "Uint64":123, - "Double":22.3, - "String":"hello_inner", - "ListInt32":[12,13,14,15,16,17], - "MapStringString":{"m1":"aaa","m2":"bbb"}, - "SetInt32":[200,201,202,203,204,205], - "MapInt32String":{"1":"aaa","2":"bbb","3":"ccc","4":"ddd"}, - "Binary":"AQIDBA==", - "MapUint32String":{"1":"u32aa","2":"u32bb","3":"u32cc","4":"u32dd"}, - "MapUint64String":{"1":"u64aa","2":"u64bb","3":"u64cc","4":"u64dd"}, - "MapInt64String":{"1":"64aaa","2":"64bbb","3":"64ccc","4":"64ddd"}, - "MapInt64Base":{ - "1":{ - "LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"} - }, - "2":{ - "LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"} - } - }, - "MapStringBase":{ - "1":{ - "LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"} - }, - "2":{ - "LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"} - } - }, - "ListBase":[ - {"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"}}, - {"LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"}} - ], - "ListString":["111","222","333","44","51","6"], - "Base":{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1b":"aaa","2b":"bbb","3b":"ccc","4b":"ddd"}} - } -}` + return `{"Msg":"hello","A":25,"InnerBase2":{"Bool":true,"Uint32":123,"Uint64":123,"Int32":123,"SInt64":123,"Double":22.3,"String":"hello_inner","ListInt32":[12,13,14,15,16,17],"MapStringString":{"m1":"aaa","m2":"bbb"},"ListSInt64":[200,201,202,203,204,205],"MapInt32String":{"1":"aaa","2":"bbb","3":"ccc","4":"ddd"},"Binary":"AQIDBA==","MapUint32String":{"1":"u32aa","2":"u32bb","3":"u32cc","4":"u32dd"},"MapUint64String":{"1":"u64aa","2":"u64bb","3":"u64cc","4":"u64dd"},"MapInt64String":{"1":"64aaa","2":"64bbb","3":"64ccc","4":"64ddd"},"MapInt64Base":{"1":{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"}},"2":{"LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"}}},"MapStringBase":{"1":{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"}},"2":{"LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"}}},"ListBase":[{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"}},{"LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"}}],"ListString":["111","222","333","44","51","6"],"Base":{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1b":"aaa","2b":"bbb","3b":"ccc","4b":"ddd"}}}}` } func getInt2FloatMethodReq() string { diff --git a/pkg/generic/jsonpb_test/idl/example2.proto b/pkg/generic/jsonpb_test/idl/example2.proto index ad39574c38..9dfa42960b 100644 --- a/pkg/generic/jsonpb_test/idl/example2.proto +++ b/pkg/generic/jsonpb_test/idl/example2.proto @@ -38,12 +38,12 @@ message InnerBase2 { uint32 Uint32 = 2; uint64 Uint64 = 3; int32 Int32 = 4; - int64 Int64 = 5; + sint64 SInt64 = 5; double Double = 6; string String = 7; repeated int32 ListInt32 = 8; map MapStringString = 9; - repeated int32 SetInt32 = 10; + repeated sint64 ListSInt64 = 10; FOO Foo = 11; map MapInt32String = 12; bytes Binary = 13; diff --git a/pkg/generic/proto/json_test.go b/pkg/generic/proto/json_test.go index 70703b1601..b357a98044 100644 --- a/pkg/generic/proto/json_test.go +++ b/pkg/generic/proto/json_test.go @@ -137,48 +137,9 @@ func TestRead(t *testing.T) { } // helper methods +// comes from https://github.com/cloudwego/dynamicgo/blob/main/testdata/data/example2req.json func getExampleReq() string { - return `{ - "Msg":"hello", - "A":25, - "InnerBase2":{ - "Bool":true, - "Uint32":123, - "Uint64":123, - "Double":22.3, - "String":"hello_inner", - "ListInt32":[12,13,14,15,16,17], - "MapStringString":{"m1":"aaa","m2":"bbb"}, - "SetInt32":[200,201,202,203,204,205], - "MapInt32String":{"1":"aaa","2":"bbb","3":"ccc","4":"ddd"}, - "Binary":"AQIDBA==", - "MapUint32String":{"1":"u32aa","2":"u32bb","3":"u32cc","4":"u32dd"}, - "MapUint64String":{"1":"u64aa","2":"u64bb","3":"u64cc","4":"u64dd"}, - "MapInt64String":{"1":"64aaa","2":"64bbb","3":"64ccc","4":"64ddd"}, - "MapInt64Base":{ - "1":{ - "LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"} - }, - "2":{ - "LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"} - } - }, - "MapStringBase":{ - "1":{ - "LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"} - }, - "2":{ - "LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"} - } - }, - "ListBase":[ - {"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"}}, - {"LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"}} - ], - "ListString":["111","222","333","44","51","6"], - "Base":{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1b":"aaa","2b":"bbb","3b":"ccc","4b":"ddd"}} - } -}` + return `{"Msg":"hello","A":25,"InnerBase2":{"Bool":true,"Uint32":123,"Uint64":123,"Int32":123,"SInt64":123,"Double":22.3,"String":"hello_inner","ListInt32":[12,13,14,15,16,17],"MapStringString":{"m1":"aaa","m2":"bbb"},"ListSInt64":[200,201,202,203,204,205],"MapInt32String":{"1":"aaa","2":"bbb","3":"ccc","4":"ddd"},"Binary":"AQIDBA==","MapUint32String":{"1":"u32aa","2":"u32bb","3":"u32cc","4":"u32dd"},"MapUint64String":{"1":"u64aa","2":"u64bb","3":"u64cc","4":"u64dd"},"MapInt64String":{"1":"64aaa","2":"64bbb","3":"64ccc","4":"64ddd"},"MapInt64Base":{"1":{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"}},"2":{"LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"}}},"MapStringBase":{"1":{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"}},"2":{"LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"}}},"ListBase":[{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1a":"aaa","2a":"bbb","3a":"ccc","4a":"ddd"}},{"LogID":"logId2","Caller":"caller2","Addr":"addr2","Client":"client2","TrafficEnv":{"Open":true,"Env":"env2"},"Extra":{"1a":"aaa2","2a":"bbb2","3a":"ccc2","4a":"ddd2"}}],"ListString":["111","222","333","44","51","6"],"Base":{"LogID":"logId","Caller":"caller","Addr":"addr","Client":"client","TrafficEnv":{"Env":"env"},"Extra":{"1b":"aaa","2b":"bbb","3b":"ccc","4b":"ddd"}}}}` } // read ProtoBuf's data in binary format from exampleProtoPath