|
|
/**
|
|
* Return an ETag in the form of `"<size>-<mtime>"`
|
|
* from the given `stat`.
|
|
*
|
|
* @param {Object} stat
|
|
* @return {String}
|
|
* @api private
|
|
*/
|
|
|
|
exports.etag = function(stat) {
|
|
return '"' + stat.size + '-' + Number(stat.mtime) + '"';
|
|
};
|
|
|
|
/**
|
|
* decodeURIComponent.
|
|
*
|
|
* Allows V8 to only deoptimize this fn instead of all
|
|
* of send().
|
|
*
|
|
* @param {String} path
|
|
* @api private
|
|
*/
|
|
|
|
exports.decode = function(path){
|
|
try {
|
|
return decodeURIComponent(path);
|
|
} catch (err) {
|
|
return -1;
|
|
}
|
|
};
|
|
|
|
/**
|
|
* Escape the given string of `html`.
|
|
*
|
|
* @param {String} html
|
|
* @return {String}
|
|
* @api private
|
|
*/
|
|
|
|
exports.escape = function(html){
|
|
return String(html)
|
|
.replace(/&(?!\w+;)/g, '&')
|
|
.replace(/</g, '<')
|
|
.replace(/>/g, '>')
|
|
.replace(/"/g, '"');
|
|
};
|