diff --git a/src/nucleus/domains/config/broker.py b/src/nucleus/domains/config/broker.py new file mode 100644 index 0000000..ac90d37 --- /dev/null +++ b/src/nucleus/domains/config/broker.py @@ -0,0 +1,23 @@ +__author__ = 'RemiZOffAlex' +__email__ = 'remizoffalex@mail.ru' + +from helpers.yaml import yaml_read + +from controller.core import config, broker +from controller.domains.comparator.handler import Comparator +from controller.domains.executor.handler import Executor + + +def handler_config_broker(): + routes_file = config['dynamic.data.path'] / 'routes.yml' + + if routes_file.exists(): + broker.clear() + data = yaml_read(routes_file) + for route in data: + broker.clear() + broker.register( + route['name'], + Comparator(route['match']), + Executor(route['handler']) + )