|
|
|
@ -13,6 +13,13 @@ function toList(array) {
|
|
|
|
|
return array.reduce(combineToList, "").trim();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function testIP(req, res, next) {
|
|
|
|
|
let addr = ipaddr.parse(req.ip);
|
|
|
|
|
if (!IP_TYPES.includes(addr.kind())) return res.status(400).send("Invalid ip address");
|
|
|
|
|
req.params.addr = addr;
|
|
|
|
|
next();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
router.use((req, res, next) => {
|
|
|
|
|
res.type('text/plain');
|
|
|
|
|
next();
|
|
|
|
@ -32,9 +39,8 @@ router.get("/:fqdn", (req, res) => {
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
router.get("/:fqdn/:code", (req, res) => {
|
|
|
|
|
let addr = ipaddr.parse(req.ip);
|
|
|
|
|
if (!IP_TYPES.includes(addr.kind())) return res.status(400).send("Invalid ip address");
|
|
|
|
|
router.get("/:fqdn/:code", testIP, (req, res) => {
|
|
|
|
|
let addr = req.params.addr;
|
|
|
|
|
db.query("UPDATE addresses SET " + addr.kind() + " = ? WHERE fqdn = ? AND code = ?", [addr.toString(), req.params.fqdn, req.params.code], (e, d) => {
|
|
|
|
|
if (e) return res.status(400).send("Error");
|
|
|
|
|
res.send(addr.toString());
|
|
|
|
|