nodejs实现支持流式请求中途取消的反向http代理服务器代码
代码语言:nodejs
所属分类:其他
代码描述:nodejs实现支持流式请求中途取消的反向http代理服务器代码,当客户端在流式输出等待服务端响应中的时候,客户端取消了请求,那么代理端也会向服务器发送终止请求。
代码标签: nodejs 流式 请求 中途 取消 反向 http 代理 服务器 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
const httpProxy = require('http-proxy'); const http = require('http'); const proxy = httpProxy.createProxyServer({}); // 创建一个 Map 来存储正在进行的请求 const activeRequests = new Map(); http.createServer((req, res) => { const target = 'http://your-backend-server.com'; // 监听客户端取消请求的事件 req.on('aborted', () => { const proxyReq = activeRequests.get(req); if (proxyReq) { // 取消后端请求 proxyReq.abort(); activeRequests.delete(req); console.log('Client aborted the request, aborting backend request'); } }); proxy.web(req, res, { target }, (proxyErr) => { if (proxyErr) { console.error('Failed to proxy request:', proxyErr); console.error('Failed to proxy request:', req.headers); if (!res.headersSent.........完整代码请登录后点击上方下载按钮下载查看
网友评论0