diff --git a/redis/url.go b/redis/client.go rename from redis/url.go rename to redis/client.go index e9f719863d3c0102811829d6d8f5e1290f7fbb81..71abd98a2a39b274171d42e7f265a3d6f14dea90 100644 --- a/redis/url.go +++ b/redis/client.go @@ -68,7 +68,7 @@ } return &uopts, nil } -func ParseURL(raw string) (*redis.UniversalOptions, error) { +func NewUniversalClient(raw string) (redis.UniversalClient, error) { // Support multiple URLs for sentinel connections var schemes []string var urls []*url.URL @@ -90,15 +90,16 @@ opts, err := redis.ParseURL(raw) if err != nil { return nil, err } - return &redis.UniversalOptions{ - Addrs: []string{opts.Addr}, - // TODO - }, nil + return redis.NewClient(opts), nil } if urls[0].Scheme != "redis+sentinel" && urls[0].Scheme != "rediss+sentinel" { return nil, fmt.Errorf("invalid connection URL scheme: %s", urls[0].Scheme) } // a single sentinel URL, fall through to parsing that } - return parseSentinelURLs(urls) + opts, err := parseSentinelURLs(urls) + if err != nil { + return nil, err + } + return redis.NewUniversalClient(opts), nil } diff --git a/server/server.go b/server/server.go index 8a8b749069cef78eb028fe66730d53ccfd8c8b47..a1eb1866e320599ff6ce0da2546d2810d2afbb92 100644 --- a/server/server.go +++ b/server/server.go @@ -178,11 +178,10 @@ rcs, ok := server.conf.Get("sr.ht", "redis-host") if !ok { rcs = "redis://" } - ropts, err := redis.ParseURL(rcs) + rc, err := redis.NewUniversalClient(rcs) if err != nil { log.Fatalf("Invalid sr.ht::redis-host in config.ini: %v", err) } - rc := goRedis.NewUniversalClient(ropts) server.redis = rc apiconf := fmt.Sprintf("%s::api", server.service)