Support json marshal/unmarshal

This commit is contained in:
Nick Mills-Barrett 2026-01-29 12:24:00 +00:00
commit edbfebdea5
No known key found for this signature in database
GPG key ID: 31F23F2CF354937B

View file

@ -153,6 +153,7 @@ func (e *RespError) UnmarshalJSON(data []byte) error {
}
e.ErrCode, _ = e.ExtraData["errcode"].(string)
e.Err, _ = e.ExtraData["error"].(string)
e.CanRetry, _ = e.ExtraData["com.beeper.can_retry"].(bool)
return nil
}
@ -160,6 +161,9 @@ func (e *RespError) MarshalJSON() ([]byte, error) {
data := exmaps.NonNilClone(e.ExtraData)
data["errcode"] = e.ErrCode
data["error"] = e.Err
if e.CanRetry {
data["com.beeper.can_retry"] = e.CanRetry
}
return json.Marshal(data)
}