Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions cmd_connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -213,12 +213,7 @@ func (m *Miniredis) cmdEcho(c *server.Peer, cmd string, args []string) {

// SELECT
func (m *Miniredis) cmdSelect(c *server.Peer, cmd string, args []string) {
if len(args) != 1 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
return
}
if !m.isValidCMD(c, cmd) {
if !m.isValidCMD(c, cmd, args, exactly(1)) {
return
}

Expand Down
163 changes: 16 additions & 147 deletions cmd_generic.go
Original file line number Diff line number Diff line change
Expand Up @@ -104,15 +104,7 @@ func expireParse(cmd string, args []string) (*expireOpts, error) {
// converted to a duration.
func makeCmdExpire(m *Miniredis, unix bool, d time.Duration) func(*server.Peer, string, []string) {
return func(c *server.Peer, cmd string, args []string) {
if len(args) < 2 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
return
}
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
if !m.isValidCMD(c, cmd, args, atLeast(2)) {
return
}

Expand Down Expand Up @@ -178,16 +170,7 @@ func makeCmdExpire(m *Miniredis, unix bool, d time.Duration) func(*server.Peer,
// [pexpiretime]: https://redis.io/commands/pexpiretime/
func (m *Miniredis) makeCmdExpireTime(timeResultStrategy func(time.Time) int) server.Cmd {
return func(c *server.Peer, cmd string, args []string) {
if len(args) != 1 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
return
}

if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
if !m.isValidCMD(c, cmd, args, exactly(1)) {
return
}

Expand All @@ -213,16 +196,7 @@ func (m *Miniredis) makeCmdExpireTime(timeResultStrategy func(time.Time) int) se

// TOUCH
func (m *Miniredis) cmdTouch(c *server.Peer, cmd string, args []string) {
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
return
}

if len(args) == 0 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
if !m.isValidCMD(c, cmd, args, atLeast(1)) {
return
}

Expand All @@ -241,15 +215,7 @@ func (m *Miniredis) cmdTouch(c *server.Peer, cmd string, args []string) {

// TTL
func (m *Miniredis) cmdTTL(c *server.Peer, cmd string, args []string) {
if len(args) != 1 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
return
}
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
if !m.isValidCMD(c, cmd, args, exactly(1)) {
return
}

Expand All @@ -276,15 +242,7 @@ func (m *Miniredis) cmdTTL(c *server.Peer, cmd string, args []string) {

// PTTL
func (m *Miniredis) cmdPTTL(c *server.Peer, cmd string, args []string) {
if len(args) != 1 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
return
}
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
if !m.isValidCMD(c, cmd, args, exactly(1)) {
return
}

Expand All @@ -311,15 +269,7 @@ func (m *Miniredis) cmdPTTL(c *server.Peer, cmd string, args []string) {

// PERSIST
func (m *Miniredis) cmdPersist(c *server.Peer, cmd string, args []string) {
if len(args) != 1 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
return
}
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
if !m.isValidCMD(c, cmd, args, exactly(1)) {
return
}

Expand Down Expand Up @@ -347,16 +297,7 @@ func (m *Miniredis) cmdPersist(c *server.Peer, cmd string, args []string) {

// DEL and UNLINK
func (m *Miniredis) cmdDel(c *server.Peer, cmd string, args []string) {
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
return
}

if len(args) == 0 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
if !m.isValidCMD(c, cmd, args, atLeast(1)) {
return
}

Expand All @@ -376,15 +317,7 @@ func (m *Miniredis) cmdDel(c *server.Peer, cmd string, args []string) {

// TYPE
func (m *Miniredis) cmdType(c *server.Peer, cmd string, args []string) {
if len(args) != 1 {
setDirty(c)
c.WriteError("usage error")
return
}
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
if !m.isValidCMD(c, cmd, args, exactly(1)) {
return
}

Expand All @@ -405,15 +338,7 @@ func (m *Miniredis) cmdType(c *server.Peer, cmd string, args []string) {

// EXISTS
func (m *Miniredis) cmdExists(c *server.Peer, cmd string, args []string) {
if len(args) < 1 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
return
}
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
if !m.isValidCMD(c, cmd, args, atLeast(1)) {
return
}

Expand All @@ -432,15 +357,7 @@ func (m *Miniredis) cmdExists(c *server.Peer, cmd string, args []string) {

// MOVE
func (m *Miniredis) cmdMove(c *server.Peer, cmd string, args []string) {
if len(args) != 2 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
return
}
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
if !m.isValidCMD(c, cmd, args, exactly(2)) {
return
}

Expand Down Expand Up @@ -470,15 +387,7 @@ func (m *Miniredis) cmdMove(c *server.Peer, cmd string, args []string) {

// KEYS
func (m *Miniredis) cmdKeys(c *server.Peer, cmd string, args []string) {
if len(args) != 1 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
return
}
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
if !m.isValidCMD(c, cmd, args, exactly(1)) {
return
}

Expand All @@ -497,15 +406,7 @@ func (m *Miniredis) cmdKeys(c *server.Peer, cmd string, args []string) {

// RANDOMKEY
func (m *Miniredis) cmdRandomkey(c *server.Peer, cmd string, args []string) {
if len(args) != 0 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
return
}
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
if !m.isValidCMD(c, cmd, args, exactly(0)) {
return
}

Expand All @@ -529,15 +430,7 @@ func (m *Miniredis) cmdRandomkey(c *server.Peer, cmd string, args []string) {

// RENAME
func (m *Miniredis) cmdRename(c *server.Peer, cmd string, args []string) {
if len(args) != 2 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
return
}
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
if !m.isValidCMD(c, cmd, args, exactly(2)) {
return
}

Expand All @@ -564,15 +457,7 @@ func (m *Miniredis) cmdRename(c *server.Peer, cmd string, args []string) {

// RENAMENX
func (m *Miniredis) cmdRenamenx(c *server.Peer, cmd string, args []string) {
if len(args) != 2 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
return
}
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
if !m.isValidCMD(c, cmd, args, exactly(2)) {
return
}

Expand Down Expand Up @@ -658,15 +543,7 @@ func scanParse(cmd string, args []string) (*scanOpts, error) {

// SCAN
func (m *Miniredis) cmdScan(c *server.Peer, cmd string, args []string) {
if len(args) < 1 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
return
}
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
if !m.isValidCMD(c, cmd, args, atLeast(1)) {
return
}

Expand Down Expand Up @@ -766,15 +643,7 @@ func copyParse(cmd string, args []string) (*copyOpts, error) {

// COPY
func (m *Miniredis) cmdCopy(c *server.Peer, cmd string, args []string) {
if len(args) < 2 {
setDirty(c)
c.WriteError(errWrongNumber(cmd))
return
}
if !m.handleAuth(c) {
return
}
if m.checkPubsub(c, cmd) {
if !m.isValidCMD(c, cmd, args, atLeast(2)) {
return
}

Expand Down
8 changes: 4 additions & 4 deletions cmd_geo.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func (m *Miniredis) cmdGeoadd(c *server.Peer, cmd string, args []string) {
withTx(m, c, func(c *server.Peer, ctx *connCtx) {
db := m.db(ctx.selectedDB)

if db.exists(key) && db.t(key) != "zset" {
if db.exists(key) && db.t(key) != keyTypeSortedSet {
c.WriteError(ErrWrongType.Error())
return
}
Expand Down Expand Up @@ -103,7 +103,7 @@ func (m *Miniredis) cmdGeodist(c *server.Peer, cmd string, args []string) {
c.WriteNull()
return
}
if db.t(key) != "zset" {
if db.t(key) != keyTypeSortedSet {
c.WriteError(ErrWrongType.Error())
return
}
Expand Down Expand Up @@ -157,7 +157,7 @@ func (m *Miniredis) cmdGeopos(c *server.Peer, cmd string, args []string) {
withTx(m, c, func(c *server.Peer, ctx *connCtx) {
db := m.db(ctx.selectedDB)

if db.exists(key) && db.t(key) != "zset" {
if db.exists(key) && db.t(key) != keyTypeSortedSet {
c.WriteError(ErrWrongType.Error())
return
}
Expand Down Expand Up @@ -495,7 +495,7 @@ func (m *Miniredis) cmdGeoradiusbymember(c *server.Peer, cmd string, args []stri
return
}

if db.t(opts.key) != "zset" {
if db.t(opts.key) != keyTypeSortedSet {
c.WriteError(ErrWrongType.Error())
return
}
Expand Down
Loading