Source code for zsl.application.modules.error_handler_module
from injector import Binder, Module, provides, singleton
from zsl import Config, inject
from zsl.application.error_handler import register
from zsl.errors import ERROR_CONFIG_NAME, ErrorConfiguration
[docs]
class ErrorHandlerModule(Module):
[docs]
@provides(interface=ErrorConfiguration, scope=singleton)
@inject(config=Config)
def provide_error_config(self, config):
# type: (Config)->ErrorConfiguration
return config.get(ERROR_CONFIG_NAME, ErrorConfiguration())
[docs]
def configure(self, binder):
# type: (Binder)->None
@inject(error_config=ErrorConfiguration)
def get_error_config(error_config):
# type: (ErrorConfiguration)->ErrorConfiguration
return error_config
super().configure(binder)
for handler in get_error_config().handlers:
register(handler)