chg: [server] Cache module list JSON

pull/652/head
Jakub Onderka 2024-01-09 12:43:42 +01:00
parent c6d5e19010
commit 8663db0152
1 changed files with 14 additions and 9 deletions

View File

@ -174,7 +174,10 @@ class ListModules(tornado.web.RequestHandler):
global loaded_modules global loaded_modules
global mhandlers global mhandlers
_cached_json = None
def get(self): def get(self):
if not self._cached_json:
ret = [] ret = []
for module_name in loaded_modules: for module_name in loaded_modules:
ret.append({ ret.append({
@ -183,8 +186,10 @@ class ListModules(tornado.web.RequestHandler):
'mispattributes': mhandlers[module_name].introspection(), 'mispattributes': mhandlers[module_name].introspection(),
'meta': mhandlers[module_name].version() 'meta': mhandlers[module_name].version()
}) })
self._cached_json = json.dumps(ret)
log.debug('MISP ListModules request') log.debug('MISP ListModules request')
self.write(json.dumps(ret)) self.write(self._cached_json)
class QueryModule(tornado.web.RequestHandler): class QueryModule(tornado.web.RequestHandler):