Better error messages during unmarshal
@@ -182,19 +182,22 @@ func UnmarshalSubCommand(c *Command, m proto.Message) error {
if c.Compressed {
gz, err := gzip.NewReader(bytes.NewReader(b))
if err != nil {
- return err
+ fmt.Errorf("unmarshal sub gzip NewReader: %s", err)
}
ub, err := ioutil.ReadAll(gz)
if err != nil {
- return err
+ fmt.Errorf("unmarshal sub gzip ReadAll: %s", err)
}
if err := gz.Close(); err != nil {
- return err
+ fmt.Errorf("unmarshal sub gzip Close: %s", err)
}
b = ub
}
- return proto.Unmarshal(b, m)
+ if err := proto.Unmarshal(b, m); err != nil {
+ return fmt.Errorf("proto unmarshal: %s", err)
+ }
+ return nil
}
