mirror of
https://github.com/redis/go-redis.git
synced 2025-07-19 11:43:14 +03:00
chore: set the default value for the options.protocol
in the init()
of options
(#3387)
* chore: set the default value for the `options.protocol` in the `init()` of `options` Signed-off-by: fukua95 <fukua95@gmail.com> * add a test Signed-off-by: fukua95 <fukua95@gmail.com> --------- Signed-off-by: fukua95 <fukua95@gmail.com>
This commit is contained in:
@ -178,6 +178,9 @@ func (opt *Options) init() {
|
||||
opt.Network = "tcp"
|
||||
}
|
||||
}
|
||||
if opt.Protocol < 2 {
|
||||
opt.Protocol = 3
|
||||
}
|
||||
if opt.DialTimeout == 0 {
|
||||
opt.DialTimeout = 5 * time.Second
|
||||
}
|
||||
|
@ -222,3 +222,26 @@ func TestReadTimeoutOptions(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestProtocolOptions(t *testing.T) {
|
||||
testCasesMap := map[int]int{
|
||||
0: 3,
|
||||
1: 3,
|
||||
2: 2,
|
||||
3: 3,
|
||||
}
|
||||
|
||||
o := &Options{}
|
||||
o.init()
|
||||
if o.Protocol != 3 {
|
||||
t.Errorf("got %d instead of %d as protocol option", o.Protocol, 3)
|
||||
}
|
||||
|
||||
for set, want := range testCasesMap {
|
||||
o := &Options{Protocol: set}
|
||||
o.init()
|
||||
if o.Protocol != want {
|
||||
t.Errorf("got %d instead of %d as protocol option", o.Protocol, want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
8
redis.go
8
redis.go
@ -302,15 +302,9 @@ func (c *baseClient) initConn(ctx context.Context, cn *pool.Conn) error {
|
||||
conn := newConn(c.opt, connPool)
|
||||
|
||||
var auth bool
|
||||
protocol := c.opt.Protocol
|
||||
// By default, use RESP3 in current version.
|
||||
if protocol < 2 {
|
||||
protocol = 3
|
||||
}
|
||||
|
||||
// for redis-server versions that do not support the HELLO command,
|
||||
// RESP2 will continue to be used.
|
||||
if err = conn.Hello(ctx, protocol, username, password, c.opt.ClientName).Err(); err == nil {
|
||||
if err = conn.Hello(ctx, c.opt.Protocol, username, password, c.opt.ClientName).Err(); err == nil {
|
||||
auth = true
|
||||
} else if !isRedisError(err) {
|
||||
// When the server responds with the RESP protocol and the result is not a normal
|
||||
|
Reference in New Issue
Block a user