MCPcopy Create free account
hub / github.com/IceFireDB/IceFireDB / cmdCMDEXEC

Method cmdCMDEXEC

IceFireDB-Redis-Proxy/pkg/router/redisNode/handle.go:41–72  ·  view source on GitHub ↗
(s *router.Context)

Source from the content-addressed store, hash-verified

39}
40
41func (r *Router) cmdCMDEXEC(s *router.Context) error {
42 var err error
43 s.Reply, err = r.Do(s.Cmd, s.Args[1:]...)
44 if err != nil && err != redis.ErrNil {
45 _ = router.WriteError(s.Writer, err)
46 return nil
47 }
48
49 if s.Reply == nil {
50 return router.WriteBulk(s.Writer, nil)
51 }
52
53 switch val := s.Reply.(type) {
54 case error:
55 return router.WriteError(s.Writer, val)
56 case int64:
57 return router.WriteInt(s.Writer, val)
58 case []byte:
59 return router.WriteBulk(s.Writer, val)
60 case string:
61 return router.WriteSimpleString(s.Writer, val)
62 case []interface{}:
63 if len(val) == 1 {
64 if err, ok := val[0].(error); ok {
65 return router.WriteError(s.Writer, err)
66 }
67 }
68 return router.RecursivelyWriteObjects(s.Writer, val...)
69 default:
70 return router.WriteObjects(s.Writer, s.Reply)
71 }
72}
73
74func (r *Router) cmdQUIT(s *router.Context) error {
75 s.Reply = okReply

Callers

nothing calls this directly

Calls 7

DoMethod · 0.95
WriteErrorFunction · 0.92
WriteBulkFunction · 0.92
WriteIntFunction · 0.92
WriteSimpleStringFunction · 0.92
RecursivelyWriteObjectsFunction · 0.92
WriteObjectsFunction · 0.92

Tested by

no test coverage detected