1
0
Fork 0
mirror of https://github.com/sourcegraph/jsonrpc2.git synced 2026-06-27 21:13:40 +02:00

Add StringID call option

Fixes #43
This commit is contained in:
Sam Herrmann 2021-04-24 14:49:40 -04:00
parent 366fbb5207
commit 9ce4585034
4 changed files with 109 additions and 47 deletions

View file

@ -366,9 +366,14 @@ func (c *Conn) send(_ context.Context, m *anyMessage, wait bool) (cc *call, err
// responses.
if m.request != nil && wait {
cc = &call{request: m.request, seq: c.seq, done: make(chan error, 1)}
if !m.request.ID.IsString && m.request.ID.Num == 0 {
// unset, use next seq as call ID
m.request.ID.Num = c.seq
isIDUnset := len(m.request.ID.Str) == 0 && m.request.ID.Num == 0
if isIDUnset {
if m.request.ID.IsString {
m.request.ID.Str = strconv.FormatUint(c.seq, 10)
} else {
m.request.ID.Num = c.seq
}
}
id = m.request.ID
c.pending[id] = cc