11package redis
22
33import (
4+ "strings"
45 "sync"
56
67 "github.com/redis/go-redis/v9/internal/routing"
78)
89
9- var defaultPolicies = map [string ]* routing.CommandPolicy {}
10+ var defaultPolicies = map [string ]* routing.CommandPolicy {
11+ "ft.create" : {
12+ Request : routing .ReqDefault ,
13+ Response : routing .RespDefaultKeyless ,
14+ },
15+ "ft.search" : {
16+ Request : routing .ReqDefault ,
17+ Response : routing .RespDefaultKeyless ,
18+ },
19+ "ft.aggregate" : {
20+ Request : routing .ReqDefault ,
21+ Response : routing .RespDefaultKeyless ,
22+ },
23+ "ft.dictadd" : {
24+ Request : routing .ReqDefault ,
25+ Response : routing .RespDefaultKeyless ,
26+ },
27+ "ft.dictdump" : {
28+ Request : routing .ReqDefault ,
29+ Response : routing .RespDefaultKeyless ,
30+ },
31+ "ft.dictdel" : {
32+ Request : routing .ReqDefault ,
33+ Response : routing .RespDefaultKeyless ,
34+ },
35+ "ft.suglen" : {
36+ Request : routing .ReqDefault ,
37+ Response : routing .RespDefaultHashSlot ,
38+ },
39+ "ft.cursor" : {
40+ Request : routing .ReqSpecial ,
41+ Response : routing .RespDefaultKeyless ,
42+ },
43+ "ft.sugadd" : {
44+ Request : routing .ReqDefault ,
45+ Response : routing .RespDefaultHashSlot ,
46+ },
47+ "ft.sugget" : {
48+ Request : routing .ReqDefault ,
49+ Response : routing .RespDefaultHashSlot ,
50+ },
51+ "ft.sugdel" : {
52+ Request : routing .ReqDefault ,
53+ Response : routing .RespDefaultHashSlot ,
54+ },
55+ "ft.spellcheck" : {
56+ Request : routing .ReqDefault ,
57+ Response : routing .RespDefaultKeyless ,
58+ },
59+ "ft.explain" : {
60+ Request : routing .ReqDefault ,
61+ Response : routing .RespDefaultKeyless ,
62+ },
63+ "ft.explaincli" : {
64+ Request : routing .ReqDefault ,
65+ Response : routing .RespDefaultKeyless ,
66+ },
67+ "ft.aliasadd" : {
68+ Request : routing .ReqDefault ,
69+ Response : routing .RespDefaultKeyless ,
70+ },
71+ "ft.aliasupdate" : {
72+ Request : routing .ReqDefault ,
73+ Response : routing .RespDefaultKeyless ,
74+ },
75+ "ft.aliasdel" : {
76+ Request : routing .ReqDefault ,
77+ Response : routing .RespDefaultKeyless ,
78+ },
79+ "ft.info" : {
80+ Request : routing .ReqDefault ,
81+ Response : routing .RespDefaultKeyless ,
82+ },
83+ "ft.tagvals" : {
84+ Request : routing .ReqDefault ,
85+ Response : routing .RespDefaultKeyless ,
86+ },
87+ "ft.syndump" : {
88+ Request : routing .ReqDefault ,
89+ Response : routing .RespDefaultKeyless ,
90+ },
91+ "ft.synupdate" : {
92+ Request : routing .ReqDefault ,
93+ Response : routing .RespDefaultKeyless ,
94+ },
95+ "ft.profile" : {
96+ Request : routing .ReqDefault ,
97+ Response : routing .RespDefaultKeyless ,
98+ },
99+ "ft.alter" : {
100+ Request : routing .ReqDefault ,
101+ Response : routing .RespDefaultKeyless ,
102+ },
103+ "ft.dropindex" : {
104+ Request : routing .ReqDefault ,
105+ Response : routing .RespDefaultKeyless ,
106+ },
107+ "ft.drop" : {
108+ Request : routing .ReqDefault ,
109+ Response : routing .RespDefaultKeyless ,
110+ },
111+ }
10112
11113type commandPolicyManager struct {
12114 rwmutex * sync.RWMutex
@@ -15,10 +117,12 @@ type commandPolicyManager struct {
15117}
16118
17119func newCommandPolicyManager (overwrites interface {}) * commandPolicyManager {
120+ // TODO: To be implemented in the next req-resp development stage
18121 return & commandPolicyManager {}
19122}
20123
21124func (cpm * commandPolicyManager ) updateClientPolicies (policies interface {}) {
125+ // TODO: To be implemented in the next req-resp development stage
22126 cpm .rwmutex .Lock ()
23127 defer cpm .rwmutex .Unlock ()
24128}
@@ -27,8 +131,7 @@ func (cpm *commandPolicyManager) getCmdPolicy(cmd Cmder) *routing.CommandPolicy
27131 cpm .rwmutex .RLock ()
28132 defer cpm .rwmutex .RUnlock ()
29133
30- cmdName := cmd .Name ()
31-
134+ cmdName := strings .ToLower (cmd .Name ())
32135 if policy , ok := cpm .overwrittenPolicies [cmdName ]; ok {
33136 return policy
34137 }
0 commit comments