| 123456789101112131415161718192021222324 |
- class RequestInterruptHandler:
- """处理请求中断的上下文管理器"""
-
- def __init__(self, request):
- self.request = request
- self.client_closed = False
-
- def __enter__(self):
- return self
-
- def __exit__(self, exc_type, exc_val, exc_tb):
- # 这里可以添加资源清理逻辑
- if exc_type is GeneratorExit:
- print("客户端中断了请求")
- return True # 抑制异常
-
- def is_client_connected(self):
- """检查客户端是否仍然连接"""
- try:
- # 检查 socket 是否关闭
- return not self.request.environ.get('werkzeug.socket').closed
- except:
- # 如果检查失败,假设连接仍然存在
- return True
|