From c4248d4051751ade2ac646c01b338d8e5202c054 Mon Sep 17 00:00:00 2001 From: Julien Riou Date: Sun, 29 Dec 2024 10:18:46 +0000 Subject: [PATCH] feat(url): Add valkey and valkeys schemes (#21) Inspired by the valkey-py client. https://github.com/valkey-io/valkey-py/blob/v6.0.2/valkey/_parsers/url_parser.py#L40 Signed-off-by: Julien Riou --- url.go | 4 ++-- url_test.go | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/url.go b/url.go index 01161721..9ba61136 100644 --- a/url.go +++ b/url.go @@ -41,11 +41,11 @@ func ParseURL(str string) (opt ClientOption, err error) { return dialer.Dial("unix", s) } opt.InitAddress = []string{strings.TrimSpace(u.Path)} - case "rediss": + case "rediss", "valkeys": opt.TLSConfig = &tls.Config{ MinVersion: tls.VersionTLS12, } - case "redis": + case "redis", "valkey": default: return opt, fmt.Errorf("valkey: invalid URL scheme: %s", u.Scheme) } diff --git a/url_test.go b/url_test.go index db080742..ffb218c2 100644 --- a/url_test.go +++ b/url_test.go @@ -15,9 +15,15 @@ func TestParseURL(t *testing.T) { if opt, err := ParseURL("rediss://"); err != nil || opt.TLSConfig == nil { t.Fatalf("unexpected %v %v", opt, err) } + if opt, err := ParseURL("valkeys://"); err != nil || opt.TLSConfig == nil { + t.Fatalf("unexpected %v %v", opt, err) + } if opt, err := ParseURL("unix://"); err != nil || opt.DialFn == nil { t.Fatalf("unexpected %v %v", opt, err) } + if opt, err := ParseURL("valkey://"); err != nil { + t.Fatalf("unexpected %v %v", opt, err) + } if opt, err := ParseURL("redis://"); err != nil || opt.InitAddress[0] != "localhost:6379" { t.Fatalf("unexpected %v %v", opt, err) }