|
|
|
@ -47,6 +47,7 @@ function WebServer() {
@@ -47,6 +47,7 @@ function WebServer() {
|
|
|
|
|
this.port = 8000; |
|
|
|
|
this.server = null; |
|
|
|
|
this.verbose = false; |
|
|
|
|
this.cacheExpirationTime = 0; |
|
|
|
|
this.disableRangeRequests = false; |
|
|
|
|
this.hooks = { |
|
|
|
|
'GET': [], |
|
|
|
@ -91,6 +92,7 @@ WebServer.prototype = {
@@ -91,6 +92,7 @@ WebServer.prototype = {
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var disableRangeRequests = this.disableRangeRequests; |
|
|
|
|
var cacheExpirationTime = this.cacheExpirationTime; |
|
|
|
|
|
|
|
|
|
var filePath; |
|
|
|
|
fs.realpath(path.join(this.root, pathPart), checkFile); |
|
|
|
@ -222,6 +224,11 @@ WebServer.prototype = {
@@ -222,6 +224,11 @@ WebServer.prototype = {
|
|
|
|
|
} |
|
|
|
|
res.setHeader('Content-Type', contentType); |
|
|
|
|
res.setHeader('Content-Length', fileSize); |
|
|
|
|
if (cacheExpirationTime > 0) { |
|
|
|
|
var expireTime = new Date(); |
|
|
|
|
expireTime.setSeconds(expireTime.getSeconds() + cacheExpirationTime); |
|
|
|
|
res.setHeader('Expires', expireTime.toUTCString()); |
|
|
|
|
} |
|
|
|
|
res.writeHead(200); |
|
|
|
|
|
|
|
|
|
stream.pipe(res); |
|
|
|
|