apache / apache/apisix-java-plugin-runner

help request: How to dynamic add/remove headers in "ext-plugin" with Java Runner

Offen
#219 7 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
152
Forks
102
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

### Description

Is it possible to dynamic to add headers in the ext-plugin (We implement a java based plugin with "apisix-runner-starter, 0.4.0" )?
the methods we tried this method:
` public void filter(HttpRequest request, HttpResponse response, PluginFilterChain chain `
...
` request.getHeaders().put("abc","abc");
request.getHeaders().put("567","565");`
...

Expectation:
upstream api receives the combined headers (original + dynamic).
client 10 headers --> apisix ext-plugin(java runner) add 2 headers=> 12 headers -> upstream, 12 headers

Actual
upstream api still receives the original headers
client 10 headers --> apisix ext-plugin(java runner) add 2 headers=> 12 headers -> upstream, 10 headers

We noticed that line 223 in the "RpcCallHandler" in the "org.apache.apisix.plugin.runner.handler" ;package
still using the original request, even the ext-plugin add or remove the header

Typically, data transmission after plugin should expose interface to implementer. but currently, plugin only could change the header value, could not dynamically add / remove headers

thx

### Environment

- APISIX version (run `apisix version`): 3.0
- Operating system (run `uname -a`): Centos7
- OpenResty / Nginx version (run `openresty -V` or `nginx -V`):
- etcd version, if relevant (run `curl http://127.0.0.1:9090/v1/server_info`): 3.5.x
- APISIX Dashboard version, if relevant:
- Plugin runner version, for issues related to plugin runners: apisix-runner-starter, 0.4.0
- LuaRocks version, for installation issues (run `luarocks --version`):

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.