2017-12-16 23:03:03 +01:00
|
|
|
from aiohttp import web
|
|
|
|
|
|
|
|
from phi.logging import get_logger
|
2017-12-18 20:28:54 +01:00
|
|
|
from phi.ldap.client import Client
|
2017-12-16 23:03:03 +01:00
|
|
|
from phi.api.routes import api_routes
|
|
|
|
|
|
|
|
log = get_logger(__name__)
|
|
|
|
|
|
|
|
|
2017-12-18 20:28:54 +01:00
|
|
|
def api_startup(app):
|
|
|
|
app['ldap_client'].open()
|
|
|
|
|
|
|
|
|
|
|
|
def api_shutdown(app):
|
|
|
|
app['ldap_client'].close()
|
|
|
|
|
|
|
|
|
|
|
|
def api_app(config):
|
2017-12-16 23:03:03 +01:00
|
|
|
log.info("Initializing API sub-app.")
|
2017-12-18 20:28:54 +01:00
|
|
|
|
2017-12-16 23:03:03 +01:00
|
|
|
app = web.Application()
|
2017-12-18 20:28:54 +01:00
|
|
|
|
|
|
|
ldap_client = Client(**config.get('ldap', {}))
|
2017-12-16 23:03:03 +01:00
|
|
|
app['ldap_client'] = ldap_client
|
2017-12-18 20:28:54 +01:00
|
|
|
|
|
|
|
app.on_startup.append(api_startup)
|
|
|
|
app.on_shutdown.append(api_shutdown)
|
|
|
|
|
|
|
|
app.router.add_routes(api_routes)
|
|
|
|
|
2017-12-16 23:03:03 +01:00
|
|
|
return app
|