c9-core/plugins/c9.preview/lib/middleware/sanitize-path-param.js

23 wiersze
551 B
JavaScript

"use strict";
var Path = require("path");
var error = require("http-error");
module.exports = function sanitzePreviewPath(req, res, next) {
var normalized;
try {
normalized = Path.normalize(decodeURIComponent(req.params.path));
} catch (e) {
return next(new error.BadRequest("URI malformed"));
}
// N.B. Path.normalize does not strip away when the path starts with "../"
if (normalized)
normalized = normalized.replace(/[.]{2}\//g, "") || "/";
req.params.path = normalized;
next();
};