Source code for jivago.config.router.filtering.auto_discovering_filtering_rule

from jivago.config.router.filtering.annotation import RequestFilter
from jivago.config.router.filtering.filtering_rule import FilteringRule
from jivago.lang.registry import Registry
from jivago.lang.stream import Stream


[docs] class AutoDiscoveringFilteringRule(FilteringRule): def __init__(self, url_pattern: str, registry: Registry, root_package_name: str, regex_pattern: str = None): registrations = registry.get_annotated_in_package(RequestFilter, root_package_name) super().__init__(url_pattern, Stream(registrations).map(lambda r: r.registered).toList(), regex_pattern)