An error occurred while loading the file. Please try again.
-
Athanasios authoredaa9778f1
const express = require("express");
const { check, validationResult, oneOf } = require("express-validator")
const {toLower} = require("../src/customSanitizers");
const { errorHandler } = require("../src/errorHandler");
const checkFactory = require("../src/validationCheckFactory");
const requestHandlerFactory = require("../src/requestHandlerFactory");
let router = express.Router();
const checks = [
...checkFactory.commonChecks(),
check("request")
.exists().withMessage("MissingParameterValue")
.customSanitizer(toLower)
.isIn([ "getscene", "getcapabilities" ]).withMessage("InvalidParameterValue"),
oneOf([[
check("request").customSanitizer(toLower).equals("getscene"),
...checkFactory.specificChecks("getscene")
], [
check("request").customSanitizer(toLower).equals("getcapabilities"),
...checkFactory.specificChecks("getcapabilities")
]])
];
router.route("/")
.get(checks, (req, res) => {
const errors = validationResult(req)
if (!errors.isEmpty()) {
let exception = errorHandler(errors);
res.set("Content-Type", "application/xml");
return res.status(400).send(exception);
}
let requestHandler = requestHandlerFactory.createHandler(req.query.request);
requestHandler(req, res);
});
module.exports = router;