用Node.js /强大的中止用户请求

我正在使用强大的接收与node.jsfile upload。 我在一个多部分请求中将一些字段与一个文件一起发送。

只要某些字段到达,我就可以validation请求的真实性,如果不正确,我想中止整个请求,以避免资源浪费。

我还没有find正确的方法来中止传入的请求。 我试图使用req.connection.destroy(); 如下:

 form .on('field', function(field, value) { fields[field] = value; if (!fields['token'] || !fields['id'] || !fields['timestamp']) { return; } if (!validateToken(fields['token'], fields['id'], fields['timestamp'])) { res.writeHead(401, {'Content-Type' : 'text/plain' }); res.end('Unauthorized'); req.connection.destroy(); } }) 

但是,这会触发以下错误:

 events.js:45 throw arguments[1]; // Unhandled 'error' event ^ Error: Cannot resume() closed Socket. at Socket.resume (net.js:764:11) at IncomingMessage.resume (http.js:254:15) at IncomingForm.resume (node_modules/formidable/lib/incoming_form.js:52:11) at node_modules/formidable/lib/incoming_form.js:181:12 at node_modules/formidable/lib/file.js:51:5 at fs.js:1048:7 at wrapper (fs.js:295:17) 

我也试过req.connection.end()但文件不断上传。

有什么想法吗? 提前致谢!

问题是,可怕的不明白,你想停止。 尝试这个:

 req.connection.destroy(); req.connection.resume = function(){}; 

当然,这是一个有点丑陋的解决方法,我会在github上打开一个问题 。