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

monkeydluffy 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 b0d6d23  fix: The request header and the response header are different 
(#157)
b0d6d23 is described below

commit b0d6d23308bfaeb8548cbc2295d42dd3094d5202
Author: 唐小鸭 <[email protected]>
AuthorDate: Tue Jan 23 10:22:19 2024 +0800

    fix: The request header and the response header are different (#157)
---
 internal/http/header.go   | 12 ++----------
 internal/http/request.go  | 11 ++++++++++-
 internal/http/response.go | 11 ++++++++++-
 3 files changed, 22 insertions(+), 12 deletions(-)

diff --git a/internal/http/header.go b/internal/http/header.go
index e57eb12..bba3145 100644
--- a/internal/http/header.go
+++ b/internal/http/header.go
@@ -21,7 +21,6 @@ import (
        "net/http"
 
        "github.com/api7/ext-plugin-proto/go/A6"
-       hrc "github.com/api7/ext-plugin-proto/go/A6/HTTPReqCall"
        flatbuffers "github.com/google/flatbuffers/go"
 )
 
@@ -83,7 +82,7 @@ func (h *Header) View() http.Header {
        return h.hdr
 }
 
-func (h *Header) Build(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
+func HeaderBuild(h *Header, builder *flatbuffers.Builder) 
[]flatbuffers.UOffsetT {
        var hdrs []flatbuffers.UOffsetT
 
        // deleted
@@ -108,12 +107,5 @@ func (h *Header) Build(builder *flatbuffers.Builder) 
flatbuffers.UOffsetT {
                }
        }
 
-       size := len(hdrs)
-       hrc.RewriteStartHeadersVector(builder, size)
-       for i := size - 1; i >= 0; i-- {
-               te := hdrs[i]
-               builder.PrependUOffsetT(te)
-       }
-
-       return builder.EndVector(size)
+       return hdrs
 }
diff --git a/internal/http/request.go b/internal/http/request.go
index 21295a3..5b965fa 100644
--- a/internal/http/request.go
+++ b/internal/http/request.go
@@ -215,7 +215,16 @@ func (r *Request) FetchChanges(id uint32, builder 
*flatbuffers.Builder) bool {
 
        var hdrVec, respHdrVec flatbuffers.UOffsetT
        if r.hdr != nil {
-               hdrVec = r.hdr.Build(builder)
+               hdrs := HeaderBuild(r.hdr, builder)
+
+               size := len(hdrs)
+               hrc.RewriteStartHeadersVector(builder, size)
+               for i := size - 1; i >= 0; i-- {
+                       te := hdrs[i]
+                       builder.PrependUOffsetT(te)
+               }
+
+               hdrVec = builder.EndVector(size)
        }
 
        if r.respHdr != nil {
diff --git a/internal/http/response.go b/internal/http/response.go
index c48fbaf..508481d 100644
--- a/internal/http/response.go
+++ b/internal/http/response.go
@@ -202,7 +202,16 @@ func (r *Response) FetchChanges(builder 
*flatbuffers.Builder) bool {
 
        var hdrVec flatbuffers.UOffsetT
        if r.hdr != nil {
-               hdrVec = r.hdr.Build(builder)
+               hdrs := HeaderBuild(r.hdr, builder)
+
+               size := len(hdrs)
+               hrc.RespStartHeadersVector(builder, size)
+               for i := size - 1; i >= 0; i-- {
+                       te := hdrs[i]
+                       builder.PrependUOffsetT(te)
+               }
+
+               hdrVec = builder.EndVector(size)
        }
 
        var bodyVec flatbuffers.UOffsetT

Reply via email to