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