From 3d4ce91b4fa3d108947d5a46b9102bd788b25014 Mon Sep 17 00:00:00 2001 From: a <a@tuxpa.in> Date: Tue, 1 Aug 2023 19:30:47 -0500 Subject: [PATCH] Add to dialer --- contrib/codecs/dialer.go | 7 +++++++ contrib/codecs/redis/client.go | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/contrib/codecs/dialer.go b/contrib/codecs/dialer.go index 89cfc2d..4d89fe6 100644 --- a/contrib/codecs/dialer.go +++ b/contrib/codecs/dialer.go @@ -7,6 +7,7 @@ import ( "gfx.cafe/open/jrpc/contrib/codecs/http" "gfx.cafe/open/jrpc/contrib/codecs/rdwr" + "gfx.cafe/open/jrpc/contrib/codecs/redis" "gfx.cafe/open/jrpc/contrib/codecs/websocket" "gfx.cafe/open/jrpc/pkg/codec" ) @@ -21,6 +22,12 @@ func DialContext(ctx context.Context, u string) (codec.Conn, error) { return http.Dial(ctx, nil, u) case "ws", "wss": return websocket.DialWebsocket(ctx, u, "") + case "redis": + domain := pu.Query().Get("domain") + if domain == "" { + domain = "jrpc" + } + return redis.Dial(pu.Host, domain), nil case "tcp": tcpAddr, err := net.ResolveTCPAddr("tcp", u) if err != nil { diff --git a/contrib/codecs/redis/client.go b/contrib/codecs/redis/client.go index c73ff35..af4b122 100644 --- a/contrib/codecs/redis/client.go +++ b/contrib/codecs/redis/client.go @@ -30,6 +30,12 @@ type Client struct { handlerPeer codec.PeerInfo } +func Dial(url string, domain string) *Client { + return NewClient(redis.NewUniversalClient(&redis.UniversalOptions{ + Addrs: []string{url}, + }), domain) +} + func NewClient(c redis.UniversalClient, domain string) *Client { cl := &Client{ c: c, -- GitLab