UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

29 lines 953 B
import { Strategy } from './strategy.js'; import { Address4 } from 'ip-address'; export default class RemoteAddressStrategy extends Strategy { constructor() { super('remoteAddress'); } isEnabled(parameters, context) { if (!parameters.IPs) { return false; } return parameters.IPs.split(/\s*,\s*/).some((range) => { if (range === context.remoteAddress) { return true; } if (Address4.isValid(range)) { try { const subnetRange = new Address4(range); const remoteAddress = new Address4(context.remoteAddress || ''); return remoteAddress.isInSubnet(subnetRange); } catch (_err) { return false; } } return false; }); } } //# sourceMappingURL=remote-address-strategy.js.map