// Copyright 2022 by Sascha L. Teichmann // Use of this source code is governed by the MIT license // that can be found in the LICENSE file. package common import ( "fmt" "strings" ) type DBClientCreator func() (DBClient, error) func CreateDBClientCreator(host string, port int) DBClientCreator { var address string if strings.ContainsRune(host, '/') { address = host } else { address = fmt.Sprintf("%s:%d", host, port) } var proto string if strings.ContainsRune(address, '/') { proto = "unix" } else { proto = "tcp" } return func() (DBClient, error) { return NewRedisClient(proto, address) } }