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

commit f00ec5ec4bb4ea2e418ebb70c61826a356484ed1
Author: spacewander <[email protected]>
AuthorDate: Wed May 19 17:46:31 2021 +0800

    chore: tweak error handling
---
 internal/server/server.go | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/internal/server/server.go b/internal/server/server.go
index 26ab5cf..c2deef9 100644
--- a/internal/server/server.go
+++ b/internal/server/server.go
@@ -17,6 +17,7 @@ package server
 import (
        "encoding/binary"
        "errors"
+       "fmt"
        "io"
        "net"
        "os"
@@ -95,6 +96,14 @@ func handleConn(c net.Conn) {
                switch ty {
                case RPCPrepareConf:
                        out, err = plugin.PrepareConf(buf)
+               default:
+                       err = fmt.Errorf("unknown type %d", ty)
+               }
+
+               size := len(out)
+               if size > MaxDataSize {
+                       err = fmt.Errorf("the max length of data is %d but got 
%d", MaxDataSize, size)
+                       log.Errorf("%s", err)
                }
 
                if err != nil {
@@ -102,12 +111,6 @@ func handleConn(c net.Conn) {
                        out = ReportError(err)
                }
 
-               size := len(out)
-               if size > MaxDataSize {
-                       log.Errorf("the max length of data is %d but got %d", 
MaxDataSize, size)
-                       continue
-               }
-
                binary.BigEndian.PutUint32(header, uint32(size))
                header[0] = ty
 

Reply via email to