update json encoder

This commit is contained in:
Sinh 2022-08-19 14:07:14 +07:00
parent b82c017596
commit 0eb670a0c5
2 changed files with 34 additions and 2 deletions

26
json_encoder.go Normal file
View File

@ -0,0 +1,26 @@
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)
}
return sub, err
}
// Publish ...
func (e JSONEncoder) Publish(reply string, data interface{}) error {
return e.encConn.Publish(reply, data)
}

View File

@ -3,6 +3,7 @@ package natsio
import (
"errors"
"fmt"
"log"
"time"
"github.com/nats-io/nats.go"
@ -36,6 +37,11 @@ func (sv Server) Subscribe(subject string, cb nats.MsgHandler) (*nats.Subscripti
}
// NewJSONEncodedConn ...
func (sv Server) NewJSONEncodedConn() (*nats.EncodedConn, error) {
return nats.NewEncodedConn(sv.instance, nats.JSON_ENCODER)
func (sv Server) NewJSONEncodedConn() (*JSONEncoder, error) {
enc, err := nats.NewEncodedConn(sv.instance, nats.JSON_ENCODER)
if err != nil {
log.Printf("natsio.NewJSONEncodedConn: err %v\n", err)
return nil, err
}
return &JSONEncoder{encConn: enc}, nil
}