Open
Description
Issue description
The client uses Content-Type:application/x-www-form-urlencoded
to access the HTTP API. After decrypting the body to json, I reset the request header by r.Header().Set("Content-Type", "application/json;charset=UTF-8")
, but found that it sometimes does not work.
I have attempted to request 100 times, but there are 9 cases where it does not take effect
the code of plugin:
r.Header().Set("Content-Type", "application/json;charset=UTF-8")
r.SetBody(origBodyByte)
// pluginLogger is a wrapper for log that can output traceId
pluginLogger.Infof("request get Content-Type: %s", r.Header().Get("Content-Type"))
the log of the plugin:
2024/01/09 20:15:00 [warn] 302#302: *913 [lua] init.lua:961: 2024-01-09T20:15:00.941+0800 INFO pluginlogger/logger.go:34
[00-3334f5bcb64c9c9cdf0da1997a9a81b6-5ff503ca821603ae-01] request get Content-Type: application/json;charset=UTF-8
the log of http api:
2024-01-09 20:15:00.946 [3334f5bcb64c9c9cdf0da1997a9a81b6] [ http-nio-5001-exec-7:17758181 ] - [ DEBUG ]- [ org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor ] Read "application/x-www-form-urlencoded;charset=UTF-8" to ["**********"]
2024-01-09 20:15:00.946 [3334f5bcb64c9c9cdf0da1997a9a81b6] [ http-nio-5001-exec-7:17758181 ] - [ DEBUG ]- [ com.xxxx.controller.TestController ] Content-Type:application/x-www-form-urlencoded
Is there anyone who can help explain the reason?
Environment
- APISIX Go Plugin Runner's version:
github.com/apache/apisix-go-plugin-runner v0.5.1-0.20231128010119-a265bcd63ca1 - APISIX version: 3.6.0
- Go version: 1.19
- OS (cmd: uname -a): debian:bullseye-slim
Metadata
Metadata
Assignees
Labels
No labels