from aiohttp import web from phi.logging import get_logger from phi.ldap.client import Client from phi.api.routes import api_routes log = get_logger(__name__) def api_startup(app): app['ldap_client'].open() def api_shutdown(app): app['ldap_client'].close() def api_app(config): log.info("Initializing API sub-app.") app = web.Application() ldap_client = Client(**config.get('ldap', {})) app['ldap_client'] = ldap_client app.on_startup.append(api_startup) app.on_shutdown.append(api_shutdown) app.router.add_routes(api_routes) return app