summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wirzenius <liw@liw.fi>2018-07-31 16:25:46 +0300
committerLars Wirzenius <liw@liw.fi>2018-07-31 16:25:46 +0300
commitbfd3be221e51f9d140c68a40f72ce38ac3aad7ca (patch)
treeae150314833132534fbc0329483ef4b2694f39ec
parent7cd0e64eddff971c8c1212a2742f058dba786134 (diff)
downloadqvisqve-bfd3be221e51f9d140c68a40f72ce38ac3aad7ca.tar.gz
Change: only create routes once in API
-rw-r--r--qvisqve/api.py31
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()