diff --git a/codec/noop.go b/codec/noop.go index c232c087..02a0e12f 100644 --- a/codec/noop.go +++ b/codec/noop.go @@ -102,10 +102,10 @@ func (c *noopCodec) Marshal(v interface{}) ([]byte, error) { } func (c *noopCodec) Unmarshal(d []byte, v interface{}) error { + var err error if v == nil { return nil } - switch ve := v.(type) { case string: ve = string(d) @@ -119,6 +119,9 @@ func (c *noopCodec) Unmarshal(d []byte, v interface{}) error { ve.Data = d case *Message: ve.Body = d + default: + err = ErrInvalidMessage } - return ErrInvalidMessage + + return err }