????
Your IP : 52.14.88.125
"""Put redirect_port_rules here to avoid circular import."""
from typing import Callable, Dict, Iterator, Set
from im360.internals.core.firewall import FirewallRules
from .types_ import FirewallRule
def redirect_port_rules(
ipset_name: str,
dest_ports: Set[int],
redirect_map: Dict[int, int],
table: str,
redirector: Callable,
priority: int = FirewallRules.DEFAULT_PRIORITY,
) -> Iterator[FirewallRule]:
"""Generate common port redirection rules for captcha/splashscreen."""
for dest_port, target in redirect_map.items():
if dest_port not in dest_ports:
continue
yield FirewallRule(
rule=redirector(ipset_name, dest_port, target),
table=table,
priority=priority,
)