apache / apache/apisix-go-plugin-runner
request help: Need to rewrite the http request method
- Dominant language
- Go
- Stars
- 198
- Forks
- 68
- PR merge metrics
- No merged PRs in 30d
Description
### Issue description
I need to rewrite the http request method.
I think about two ways, but both failed.
Way 1.
Add a method like "(r *Request) SetPath". As a result , I add a method to Request and call hrc.Req. MutateMethod.
It only changes the object of Request.r and does not change the buffer object(generated by flatbuffer which is a rpc solution of google). The program just use the content of buffer object to call the upstream api.
Way 2.
Based on way1 , there is no function at HTTPReqCall.Rewrite to change the method. I try to use functions of HTTPReqCall.Req to rebuild the buffer. It does't work and lua problems occurred !
Why:
We have some apis using the Get methods, and the client only use POST methods that can't be changed.
Client -> Method(POST) -> configuration in plugins -> Go Runner Plugin -> Method(GET) -> Upstream
screenshots:

### Environment
* APISIX Go Plugin Runner's version: v0.5.0
* APISIX version: v3.6.0
* Go version: 1.19.5
* OS (cmd: `uname -a`): Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.