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