add inject_encoded_data_to_filter_chain_on_header example (#3071)

This commit is contained in:
rinfx
2025-10-30 10:58:25 +08:00
committed by GitHub
parent b4c6903412
commit af8748d754
4 changed files with 121 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
## 功能说明
此插件示例用于展示在无响应body情况下如何添加body数据。
**注意**
1. 原始响应不能够有body如果有原始的响应body会造成网关crash
2. header阶段需返回`types.ActionPause`
3. `Endstream`必须设置为`true`
示例中 `inject_encoded_data_to_filter_chain_on_header` 该函数是异步调用需要保证调用时流不被销毁有body或者header阶段不返回`types.ActionPause`都可能导致流被提前销毁。
一份无响应body的flask代码示例
```python
import os
from flask import Flask, request, Response
app = Flask(__name__)
@app.route('/test', methods=['GET', 'POST'])
def print_request():
return Response(status=200)
if __name__ == '__main__':
app.run("0.0.0.0", 5000, debug=False)
```