phi/src/phi/api/app.py

32 lines
590 B
Python

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