update json encoder

This commit is contained in:
QuanTT0110 2023-05-11 16:00:05 +07:00
parent ca6f37ad8d
commit ef52e7b820
1 changed files with 44 additions and 0 deletions

44
json_encoder.go Normal file
View File

@ -0,0 +1,44 @@
package natsio
import (
"log"
"github.com/nats-io/nats.go"
)
// JSONEncoder ...
type JSONEncoder struct {
encConn *nats.EncodedConn
}
// Subscribe ...
func (e JSONEncoder) Subscribe(subject string, cb nats.Handler) (*nats.Subscription, error) {
sub, err := e.encConn.Subscribe(subject, cb)
if err != nil {
log.Printf("natsio.JSONEncoder.Subscribe err: %v\n", err)
} else {
log.Printf("natsio.JSONEncoder - subscribed to subject %s successfully\n", subject)
}
return sub, err
}
// QueueSubscribe ...
func (e JSONEncoder) QueueSubscribe(subject, queue string, cb nats.Handler) (*nats.Subscription, error) {
sub, err := e.encConn.QueueSubscribe(subject, queue, cb)
if err != nil {
log.Printf("natsio.JSONEncoder.QueueSubscribe err: %v\n", err)
} else {
log.Printf("natsio.JSONEncoder.QueueSubscribe - subscribed to subject %s successfully\n", subject)
}
return sub, err
}
// Publish ...
func (e JSONEncoder) Publish(reply string, data interface{}) error {
return e.encConn.Publish(reply, data)
}
// Request ...
func (e JSONEncoder) Request(subject string, data interface{}, res interface{}) error {
return e.encConn.Request(subject, data, res, requestTimeout)
}