|
@@ -129,9 +129,9 @@ class BatcaveHttpRequestHandler(BaseHTTPRequestHandler):
|
|
|
cmd = match.group('cmd')
|
|
|
nodeid = match.group('id').lower()
|
|
|
if cmd == '.json':
|
|
|
- self.__respond_node(nodeid)
|
|
|
+ self.__respond_node(nodeid, query)
|
|
|
else:
|
|
|
- self.__respond_nodedetail(nodeid, cmd[1:])
|
|
|
+ self.__respond_nodedetail(nodeid, cmd[1:], query)
|
|
|
return
|
|
|
|
|
|
# /status - overall status (incl. node and client count)
|
|
@@ -372,11 +372,13 @@ angesprochen und sollte aus einer Mehrzahl von Gründen nicht
|
|
|
extra={'Content-Disposition': 'inline'})
|
|
|
self.wfile.write(json.dumps(result, indent=indent))
|
|
|
|
|
|
- def __respond_node(self, rawid):
|
|
|
+ def __respond_node(self, rawid, query):
|
|
|
"""Display node data."""
|
|
|
|
|
|
+ use_aliases = query.get('search_aliases', '1') != '0'
|
|
|
+
|
|
|
# search node by the given id
|
|
|
- node = self.server.storage.find_node(rawid)
|
|
|
+ node = self.server.storage.find_node(rawid, search_aliases=use_aliases)
|
|
|
|
|
|
# handle unknown nodes
|
|
|
if node is None:
|
|
@@ -524,14 +526,19 @@ angesprochen und sollte aus einer Mehrzahl von Gründen nicht
|
|
|
|
|
|
self.wfile.write(json.dumps(answers))
|
|
|
|
|
|
- def __respond_nodedetail(self, nodeid, field):
|
|
|
+ def __respond_nodedetail(self, nodeid, field, query):
|
|
|
"""
|
|
|
Return a field from the given node.
|
|
|
String and integers are returned as text/plain,
|
|
|
all other as JSON.
|
|
|
"""
|
|
|
|
|
|
- node = self.server.storage.find_node(nodeid, include_raw_data=True)
|
|
|
+ use_aliases = query.get('search_aliases', 1) != 0
|
|
|
+
|
|
|
+ # search node by given id
|
|
|
+ node = self.server.storage.find_node(nodeid,
|
|
|
+ include_raw_data=True,
|
|
|
+ search_aliases=use_aliases)
|
|
|
if node is None:
|
|
|
self.send_error(404, 'No node with id \'' + nodeid + '\' present.')
|
|
|
return
|