业务场景是文件上传。
由于会有非常大的文件,所以希望在不会cache整个请求的前提下就进行文件上传,否则太慢,但是又希望支持重试.
所以是否能通过request_body_filter_by_lua的代码实现,使用ngx.ctx实现自己的body cache,每次body读取并传输的时候,copy一份到ngx.ctx。
如果需要重试的话,先从ngx.ctx中取出已传输部分的request body cache进行传输,再传输request body 中剩余部分。
这个case能够实现吗?
目前翻遍了openresty的文档,似乎没有办法实现这个操作,没有任何request body读取的入口钩子。