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

Method cmdCMDEXEC

IceFireDB-PubSub/pkg/router/redisCluster/handle.go:42–74  ·  view source on GitHub ↗
(s *router.Context)

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 7

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

Tested by

no test coverage detected