unblocker
Version:
Web proxy for evading internet censorship & general-purpose library for rewriting remote websites.
20 lines (14 loc) • 468 B
JavaScript
const URL = require('url');
module.exports = function({ allowedDomains, message }) {
function isRequestAllowed(data) {
const { hostname } = URL.parse(data.url);
return allowedDomains.some(allowedDomain => hostname === allowedDomain || hostname.endsWith(`.${allowedDomain}`));
}
function checkWhitelist(data) {
if (!isRequestAllowed(data)) {
data.clientResponse.status(400).send(message)
}
}
return checkWhitelist;
};
;