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

Function Namespace

IceFireDB-Redis-Proxy/pkg/router/namespace.go:60–88  ·  view source on GitHub ↗
(prefix []byte)

Source from the content-addressed store, hash-verified

58}
59
60func Namespace(prefix []byte) HandlerFunc {
61 npool := sync.Pool{New: func() interface{} {
62 return bytes.NewBuffer(nil)
63 }}
64 if prefix[len(prefix)-1] != ':' {
65 prefix = append(prefix, ':')
66 }
67 return func(c *Context) error {
68 if len(c.Args) == 1 {
69 return c.Next()
70 }
71 fn, ok := cmdKeyMap[c.Cmd]
72 if !ok {
73 fn = firstKey
74 }
75 keyIndex := fn(c.Args)
76 for _, v := range keyIndex {
77 buf := npool.Get().(*bytes.Buffer)
78 defer func() {
79 buf.Reset()
80 npool.Put(buf)
81 }()
82 buf.Write(prefix)
83 buf.Write(c.Args[v].([]byte))
84 c.Args[v] = buf.Bytes()
85 }
86 return c.Next()
87 }
88}

Callers

nothing calls this directly

Calls 5

NextMethod · 0.45
GetMethod · 0.45
ResetMethod · 0.45
PutMethod · 0.45
BytesMethod · 0.45

Tested by

no test coverage detected