nemith / netconf

NETCONF implementation in Go.
Other
29 stars 7 forks source link

allow more control of filtering Reply errors #61

Closed nemith closed 1 year ago

nemith commented 1 year ago

The Reply.Err() and RPCErrors.Filter() are useful functions to get the SevError level errors out, but some people may want to treat SevWarning as errors as well and doing it manually is a pain.

As not to add a bunch of alternative functions like RPCError.FilterWarn, Reply.ErrWarn() and Reply.ErrAll() this updates Filter and Err to take in a list of desired severity levels. If they are missing they go back to defaulting to SevError which is a sane default.

Breaking change:

The API for reply.Err() and RPCErrors.Filter() were changed as above. For most call sites this should be fine but anyone using this function in a interface or explicitly using it as a type will break. ErrSevError was renamed to SevError ErrSevWarning was reanmed to SevWarning

As the API is not yet stable these changes are ok and will become stabilized after 1.0.0