ktr0731 / evans

Evans: more expressive universal gRPC client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

responses that can't be decoded into a map don't work

dzfranklin opened this issue · comments

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 {