@@ 68,7 68,7 @@ func parseSentinelURLs(urls []*url.URL) (*redis.UniversalOptions, error) {
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 @@ func ParseURL(raw string) (*redis.UniversalOptions, error) {
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
}
@@ 178,11 178,10 @@ func (server *Server) WithDefaultMiddleware() *Server {
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)