2
0

json: Implement json.Unmarshaler for messages.

This will allow using pgmockproxy output as ingestion data for pgmock.
This commit is contained in:
Henrique Vicente
2021-05-16 02:05:24 +02:00
committed by Jack Christensen
parent 1213b69774
commit ba924e5715
19 changed files with 472 additions and 1 deletions
+18
View File
@@ -51,3 +51,21 @@ func (src CommandComplete) MarshalJSON() ([]byte, error) {
CommandTag: string(src.CommandTag),
})
}
// UnmarshalJSON implements encoding/json.Unmarshaler.
func (dst *CommandComplete) UnmarshalJSON(data []byte) error {
// Ignore null, like in the main JSON package.
if string(data) == "null" {
return nil
}
var msg struct {
CommandTag string
}
if err := json.Unmarshal(data, &msg); err != nil {
return err
}
dst.CommandTag = []byte(msg.CommandTag)
return nil
}