all repos

onasty @ 6e284908136d4766eeaf8cd85a6a2b394764af18

a one-time notes service

onasty/internal/events/events.go (view raw)

Olexandr Smirnov Olexandr Smirnov
ss2316544@gmail.com
docs: add missing code comments (#185)..., 9 months ago
1
package events
2
3
import (
4
	"fmt"
5
6
	"github.com/nats-io/nats.go"
7
)
8
9
const (
10
	natsHeaderErrorCode = "Nats-Service-Error-Code"
11
	natsHeaderErrorMsg  = "Nats-Service-Error"
12
)
13
14
var _ error = (*Error)(nil)
15
16
type Error struct {
17
	Code    string
18
	Message string
19
}
20
21
func (e Error) Error() string {
22
	return fmt.Sprintf("code: %s; msg: %s", e.Code, e.Message)
23
}
24
25
func CheckRespForError(resp *nats.Msg) error {
26
	code := resp.Header.Get(natsHeaderErrorCode)
27
	msg := resp.Header.Get(natsHeaderErrorMsg)
28
	if code == "" && msg == "" {
29
		return nil
30
	}
31
32
	return &Error{
33
		Code:    code,
34
		Message: msg,
35
	}
36
}