blackgear / mono_pac

A minimal proxy auto config file generator based on ip range.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

一个关于逻辑覆盖的问题

humiaozuzu opened this issue · comments

commented

我现在遇到如下的问题了,我黑名单里面配置了 .hk,但是白名单里面有 google.com.hk,这样的话,按照下面的逻辑,google.com.hk 依然会 return direct,这里的代码能不能拆分成2段执行呢?性能会有一点点损失

    do {
        if (blackList.hasOwnProperty(domain)) {
            return tunnel;
        }
        if (whiteList.hasOwnProperty(domain)) {
            return direct;
        }
        pos = host.indexOf(".", pos) + 1;
        domain = host.substring(pos);
    } while (pos > 0);

唔,这种情况还是你直接fork一份比较好,我个人是比较喜欢按照域名的结构一层层解析的这种版本,倒是性能其实不会怎么损失,这里用到的函数的时间复杂度都是常数级的。