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);
這個源代碼做同樣的工作類似上面。但是,當我從我的瀏覽器取消下載。它不會停止從遠程服務器獲取數據。在下載完成之前它會持續獲取數據。
我的問題是我怎樣才能讓第二個代碼停止從遠程服務器獲取數據,一旦我取消下載。