UNPKG

@arisan/data-api

Version:

The Universal Database API Gateway for CLIO's Modules

45 lines (37 loc) 1.24 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = checkPublicIP; var _Utils = require('../Utils'); var _DataAPI = require('../DataAPI'); /* eslint-disable import/first */ //region 1. Platform Libraries */ const ipaddr = require('ipaddr.js'); //endregion //region 2. Project Libraries */ //endregion function checkPublicIP(req, res, next) { const ip = req.body.publicIp; const log = (lvl, msg) => _DataAPI.logger.log(lvl, msg, { tags: 'checkPublicIP' }); if (!ip) { const message = 'No Public IP'; log('error', message); res.status(400).send(message); return; } if (!ipaddr.isValid(ip)) { const message = `Malformed Public IP ${ ip }`; log('error', message); res.status(400).send(message); return; } if (!(0, _Utils.isWithinValidPublicIpRange)(ip)) { const message = `Public IP in Invalid Range ${ ip }`; log('error', message); res.status(400).send(message); return; } next(); } //# sourceMappingURL=checkPublicIP.js.map