You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by sp...@apache.org on 2021/09/13 07:54:35 UTC

[apisix-go-plugin-runner] branch master updated: chore: remove the util.RPCTest hack (#38)

This is an automated email from the ASF dual-hosted git repository.

spacewander pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-go-plugin-runner.git


The following commit(s) were added to refs/heads/master by this push:
     new 9558702  chore: remove the util.RPCTest hack (#38)
9558702 is described below

commit 955870249092850472c9e692a6f3281e94dcc538
Author: rao yunkun <yu...@gmail.com>
AuthorDate: Mon Sep 13 15:54:28 2021 +0800

    chore: remove the util.RPCTest hack (#38)
---
 internal/server/server.go | 27 ++++++++++++++-------------
 internal/util/msg.go      |  1 -
 2 files changed, 14 insertions(+), 14 deletions(-)

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 @@ const (
 	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 recoverPanic() {
 }
 
 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 @@ const (
 	RPCPrepareConf
 	RPCHTTPReqCall
 	RPCExtraInfo
-	RPCTest = 127 // used only in test
 )
 
 type RPCResult struct {