diff options
author | Lars Wirzenius <liw@liw.fi> | 2018-07-31 16:25:46 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2018-07-31 16:25:46 +0300 |
commit | bfd3be221e51f9d140c68a40f72ce38ac3aad7ca (patch) | |
tree | ae150314833132534fbc0329483ef4b2694f39ec | |
parent | 7cd0e64eddff971c8c1212a2742f058dba786134 (diff) | |
download | qvisqve-bfd3be221e51f9d140c68a40f72ce38ac3aad7ca.tar.gz |
Change: only create routes once in API
-rw-r--r-- | qvisqve/api.py | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/qvisqve/api.py b/qvisqve/api.py index dfe69d0..0866ae3 100644 --- a/qvisqve/api.py +++ b/qvisqve/api.py @@ -22,25 +22,30 @@ class API: def __init__(self, config): self._config = config self._rs = None + self._routes = None def find_missing_route(self, path): qvisqve.log.log('info', msg_text='find_missing_route', path=path) - routers = [ - qvisqve.VersionRouter(), - qvisqve.TokenRouter( - self._create_token_generator(), self._get_clients()), - qvisqve.LoginRouter(), - qvisqve.AuthRouter(self._get_applications(), self._get_users()), - ] + if self._routes is None: + routers = [ + qvisqve.VersionRouter(), + qvisqve.TokenRouter( + self._create_token_generator(), self._get_clients()), + qvisqve.LoginRouter(), + qvisqve.AuthRouter( + self._get_applications(), self._get_users()), + ] - routes = [] - for router in routers: - routes.extend(router.get_routes()) + self._routes = [] + for router in routers: + self._routes.extend(router.get_routes()) - qvisqve.log.log( - 'debug', msg_text='missing routes created', routes=routes) - return routes + qvisqve.log.log( + 'debug', msg_text='missing routes created', + routes=self._routes) + + return self._routes def _create_token_generator(self): tg = qvisqve.TokenGenerator() |