diff --git a/internal/server/server.go b/internal/server/server.go
index 720df4d..48d6da0 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -41,8 +41,17 @@
 	ConfCacheTTLEnv = "APISIX_CONF_EXPIRE_TIME"
 )
 
+type handler func(buf []byte, conn net.Conn) (*flatbuffers.Builder, error)
+
 var (
-	dealRPCTest func(buf []byte) (*flatbuffers.Builder, error)
+	typeHandlerMap = map[byte]handler{
+		util.RPCPrepareConf: func(buf []byte, conn net.Conn) (*flatbuffers.Builder, error) {
+			return plugin.PrepareConf(buf)
+		},
+		util.RPCHTTPReqCall: func(buf []byte, conn net.Conn) (*flatbuffers.Builder, error) {
+			return plugin.HTTPReqCall(buf, conn)
+		},
+	}
 )
 
 func generateErrorReport(err error) *flatbuffers.Builder {
@@ -62,19 +71,11 @@
 }
 
 func dispatchRPC(ty byte, in []byte, conn net.Conn) (*flatbuffers.Builder, error) {
-	var err error
-	var bd *flatbuffers.Builder
-	switch ty {
-	case util.RPCPrepareConf:
-		bd, err = plugin.PrepareConf(in)
-	case util.RPCHTTPReqCall:
-		bd, err = plugin.HTTPReqCall(in, conn)
-	case util.RPCTest: // Just for test
-		bd, err = dealRPCTest(in)
-	default:
-		err = UnknownType{ty}
+	hl, ok := typeHandlerMap[ty]
+	if !ok {
+		return nil, UnknownType{ty}
 	}
-	return bd, err
+	return hl(in, conn)
 }
 
 func checkIfDataTooLarge(bd *flatbuffers.Builder) *flatbuffers.Builder {
diff --git a/internal/util/msg.go b/internal/util/msg.go
index 6645410..fca84d0 100644
--- a/internal/util/msg.go
+++ b/internal/util/msg.go
@@ -36,7 +36,6 @@
 	RPCPrepareConf
 	RPCHTTPReqCall
 	RPCExtraInfo
-	RPCTest = 127 // used only in test
 )
 
 type RPCResult struct {
