1
0
Fork 0
mirror of https://github.com/sourcegraph/jsonrpc2.git synced 2026-06-16 04:04:56 +02:00

Add message serializer

This commit is contained in:
Sadegh Ramezani 2020-07-10 14:35:08 +04:30
parent 15c2290dcb
commit 0c98949ef8
No known key found for this signature in database
GPG key ID: CC9BE63BEFB819D6

View file

@ -583,6 +583,8 @@ func (c *Conn) readMessages(ctx context.Context) {
close(c.disconnect)
}
var MessageSerializer func([]byte) ([]byte, error)
// call represents a JSON-RPC call over its entire lifecycle.
type call struct {
request *Request
@ -636,6 +638,15 @@ func (m *anyMessage) UnmarshalJSON(data []byte) error {
return nil
}
if MessageSerializer != nil {
var err error
data, err = MessageSerializer(data)
if err != nil {
return err
}
}
if isArray := len(data) > 0 && data[0] == '['; isArray {
var msgs []msg
if err := json.Unmarshal(data, &msgs); err != nil {