Describe the bug
evans fails if the response can't be decoded into a map. for example for a google.protobuf.StringValue I see
command call: json: cannot unmarshal string into Go value of type map[string]interface {}
To reproduce
call an rpc method that returns a google.protobuf.StringValue
Expected behavior
I see the string value printed
Environment
- OS: Linux
- Terminal: alacritty
- Evans version: 0.10.11
protoc version: 3.12.4
protoc plugin version (if you are using):
Additional context
I believe the root cause is that the formatter attempts to decode the message into a map[string]interface{} and then json print that, which obviously fails on a string.
|
if err := gojson.Unmarshal(buf.Bytes(), &res); err != nil { |
Describe the bug
evans fails if the response can't be decoded into a map. for example for a google.protobuf.StringValue I see
To reproduce
call an rpc method that returns a
google.protobuf.StringValueExpected behavior
I see the string value printed
Environment
protocversion: 3.12.4protocplugin version (if you are using):Additional context
I believe the root cause is that the formatter attempts to decode the message into a
map[string]interface{}and then json print that, which obviously fails on a string.evans/format/json/json.go
Line 110 in fb471a3