fix(main) if file not exist - send error; sendFile: add stat, add setHeader

This commit is contained in:
coderaiser 2013-10-25 10:57:16 +00:00
parent cbf080e19f
commit e707ed9853

View file

@ -225,35 +225,35 @@
* @param pGzip - данные сжаты gzip'ом
*/
function sendFile(pParams) {
var name, header, lRet = checkParams(pParams);
var header, lRet = checkParams(pParams);
if (lRet) {
var p = pParams,
lGzip = isGZIP(p.request) && p.gzip;
p.response.statusCode = OK;
header = generateHeaders({
name : p.name,
cache : p.cache,
gzip : lGzip,
query : getQuery(p.request)
});
for (name in header)
p.response.setHeader(name, header[name]);
pipe.create({
from: p.name,
write: p.response,
zip : lGzip && !p.gziped,
callback: function(pError) {
var lError = pError && pError.toString();
fs.stat(p.name, function(error, stat) {
if (error)
sendError(pParams, error);
else {
p.response.statusCode = OK;
if (pError) {
p.response.statusCode = FILE_NOT_FOUND;
p.response.end(lError);
}
header = generateHeaders({
name : p.name,
cache : p.cache,
gzip : lGzip,
query : getQuery(p.request)
});
setHeader(header, p.response);
pipe.create({
from : p.name,
write : p.response,
zip : lGzip && !p.gziped,
callback: function(error) {
sendError(pParams, error);
}
});
}
});
}
@ -296,7 +296,8 @@
p.data = pParams.data;
}
p.response.writeHead(p.status || OK, lHead);
setHeader(lHead, p.response);
p.response.statusCode = p.status || OK;
p.response.end(p.data);
},
@ -452,4 +453,12 @@
return lGZIP;
}
function setHeader(header, response) {
var name;
if (Util.isObject(header))
for (name in header)
response.setHeader(name, header[name]);
}
})();