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

Method cmdCMDEXEC

IceFireDB-PubSub/pkg/router/redisNode/handle.go:42–73  ·  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 s.Reply, err = r.Do(s.Cmd, s.Args[1:]...)
45 if err != nil && err != redis.ErrNil {
46 _ = router.WriteError(s.Writer, err)
47 return nil
48 }
49
50 if s.Reply == nil {
51 return router.WriteBulk(s.Writer, nil)
52 }
53
54 switch val := s.Reply.(type) {
55 case error:
56 return router.WriteError(s.Writer, val)
57 case int64:
58 return router.WriteInt(s.Writer, val)
59 case []byte:
60 return router.WriteBulk(s.Writer, val)
61 case string:
62 return router.WriteSimpleString(s.Writer, val)
63 case []interface{}:
64 if len(val) == 1 {
65 if err, ok := val[0].(error); ok {
66 return router.WriteError(s.Writer, err)
67 }
68 }
69 return router.RecursivelyWriteObjects(s.Writer, val...)
70 default:
71 return router.WriteObjects(s.Writer, s.Reply)
72 }
73}
74
75func (r *Router) cmdQUIT(s *router.Context) error {
76 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