GreatLazyMan opened a new issue, #11977:
URL: https://github.com/apache/apisix/issues/11977

   ### Current Behavior
   
   开发了一个插件,修改了server返回的流式响应的请求体,apisix一次响应不是一个chunk,而是累积几个chunc一起响应
   已经尝试在route和nginx关闭cache,没有效果。示例代码
   
   
   ### Expected Behavior
   
   期望在修改响应体后,可以流式的返回响应体
   
   ### Error Logs
   
   _No response_
   
   ### Steps to Reproduce
   
   1.启动apisix和etcd
   2.配置文件中配置自定义插件
   3.启动测试服务器,可以返回流式响应
   4.配置route和upstream
   插件代码示例
   ```lua
   local plugin_name = "extract-reasoning"
   local core = require("apisix.core")
   local cjson = require("cjson.safe")
   local ngx = ngx
   
   local schema = {
       type = "object",
       properties = {},
   }
   
   local _M = {
       version = 1.0,
       priority = 1000,
       name = plugin_name,
       schema = schema,
   }
   
   
   function _M.header_filter(conf, ctx)
       -- 设置SSE响应头
       ngx.header["Content-Type"] = "text/event-stream"
       -- ngx.header["Cache-Control"] = "no-cache"
       ngx.header["Connection"] = "keep-alive"
       ngx.header["Cache-Control"] = "no-cache, no-store, must-revalidate"
       ngx.header["Pragma"] = "no-cache"
       ngx.header["Expires"] = "0"
   end
   
   function _M.body_filter(conf, ctx)
       local chunk = ngx.arg[1]
       local is_last = ngx.arg[2]
   
       ngx.arg[1] = chunk
   end
   
   return _M
   ```
   
   ### Environment
   
   - APISIX version (run `apisix version`):
   - Operating system (run `uname -a`):
   - OpenResty / Nginx version (run `openresty -V` or `nginx -V`):
   - etcd version, if relevant (run `curl 
http://127.0.0.1:9090/v1/server_info`):
   - APISIX Dashboard version, if relevant:
   - Plugin runner version, for issues related to plugin runners:
   - LuaRocks version, for installation issues (run `luarocks --version`):
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to