Skip to content

Commit 3498462

Browse files
committed
fix: Prioritize TextMarshaler for argument serialization (#3139)
* Ensures types implementing both TextMarshaler and BinaryMarshaler are marshaled as text. * Also required reordering net.IP case to prevent string conversion due to added case.
1 parent 23a87a2 commit 3498462

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

internal/proto/writer.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,12 @@ func (w *Writer) WriteArg(v interface{}) error {
185185
return w.int(0)
186186
}
187187
return w.int(v.Nanoseconds())
188+
case encoding.TextMarshaler:
189+
b, err := v.MarshalText()
190+
if err != nil {
191+
return err
192+
}
193+
return w.bytes(b)
188194
case encoding.BinaryMarshaler:
189195
b, err := v.MarshalBinary()
190196
if err != nil {

0 commit comments

Comments
 (0)