Disables range requests for chrome windows during testing
This commit is contained in:
parent
1e1667c592
commit
cc0c0747b5
@ -64,6 +64,7 @@ WebServer.prototype = {
|
|||||||
this.server = null;
|
this.server = null;
|
||||||
},
|
},
|
||||||
_handler: function (req, res) {
|
_handler: function (req, res) {
|
||||||
|
var agent = req.headers['user-agent'];
|
||||||
var url = req.url;
|
var url = req.url;
|
||||||
var urlParts = /([^?]*)((?:\?(.*))?)/.exec(url);
|
var urlParts = /([^?]*)((?:\?(.*))?)/.exec(url);
|
||||||
var pathPart = decodeURI(urlParts[1]), queryPart = urlParts[3];
|
var pathPart = decodeURI(urlParts[1]), queryPart = urlParts[3];
|
||||||
@ -88,6 +89,9 @@ WebServer.prototype = {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// disables range requests for chrome windows -- locks during testing
|
||||||
|
var disableRangeRequests = /Windows.*?Chrom/i.test(agent);
|
||||||
|
|
||||||
var filePath;
|
var filePath;
|
||||||
fs.realpath(path.join(this.root, pathPart), checkFile);
|
fs.realpath(path.join(this.root, pathPart), checkFile);
|
||||||
|
|
||||||
@ -127,7 +131,7 @@ WebServer.prototype = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var range = req.headers['range'];
|
var range = req.headers['range'];
|
||||||
if (range) {
|
if (range && !disableRangeRequests) {
|
||||||
var rangesMatches = /^bytes=(\d+)\-(\d+)?/.exec(range);
|
var rangesMatches = /^bytes=(\d+)\-(\d+)?/.exec(range);
|
||||||
if (!rangesMatches) {
|
if (!rangesMatches) {
|
||||||
res.writeHead(501);
|
res.writeHead(501);
|
||||||
@ -214,7 +218,9 @@ WebServer.prototype = {
|
|||||||
var ext = path.extname(filePath).toLowerCase();
|
var ext = path.extname(filePath).toLowerCase();
|
||||||
var contentType = mimeTypes[ext] || defaultMimeType;
|
var contentType = mimeTypes[ext] || defaultMimeType;
|
||||||
|
|
||||||
res.setHeader('Accept-Ranges', 'bytes');
|
if (!disableRangeRequests) {
|
||||||
|
res.setHeader('Accept-Ranges', 'bytes');
|
||||||
|
}
|
||||||
res.setHeader('Content-Type', contentType);
|
res.setHeader('Content-Type', contentType);
|
||||||
res.setHeader('Content-Length', fileSize);
|
res.setHeader('Content-Length', fileSize);
|
||||||
res.writeHead(200);
|
res.writeHead(200);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user