2
我想用我的服务器作为代理从另一台服务器传输远程文件。请求模块,当浏览器取消时如何停止流式传输
我有两个源代码做的工作
http = require('http')
http.createServer(function(req, res) {
var externalReq = http.request({
hostname: "brave-download.global.ssl.fastly.net",
path: "/releases/0.7.16/winx64/BraveSetup.exe"
}, function(externalRes) {
res.setHeader("content-disposition", "attachment; filename=File.exe");
externalRes.pipe(res);
});
externalReq.end();
}).listen(8080);
通过上面的代码,当我取消下载服务器(我的本地服务器)将停止获取远程服务器中的数据了。
我还有一个源代码
var http = require('http'),
request = require('request');
http.createServer(function(req, res) {
res.setHeader("content-disposition", "attachment; filename=File.exe");
request('https://brave-download.global.ssl.fastly.net/releases/0.7.16/winx64/BraveSetup.exe').pipe(res);
}).listen(8080);
这个源代码做同样的工作类似上面。但是,当我从我的浏览器取消下载。它不会停止从远程服务器获取数据。在下载完成之前它会持续获取数据。
我的问题是我怎样才能让第二个代码停止从远程服务器获取数据,一旦我取消下载。