onasty/internal/events/events.go(view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
package events
import (
"fmt"
"github.com/nats-io/nats.go"
)
const (
natsHeaderErrorCode = "Nats-Service-Error-Code"
natsHeaderErrorMsg = "Nats-Service-Error"
)
type Error struct {
Code string
Message string
}
func (e Error) Error() string {
return fmt.Sprintf("code: %s; msg: %s", e.Code, e.Message)
}
func CheckRespForError(resp *nats.Msg) error {
code := resp.Header.Get(natsHeaderErrorCode)
msg := resp.Header.Get(natsHeaderErrorMsg)
if code == "" && msg == "" {
return nil
}
return &Error{
Code: code,
Message: msg,
}
}
|