From 71c97369f0f2c2b6c3dabea1ed70be482907ad1f Mon Sep 17 00:00:00 2001 From: meejah Date: Wed, 11 Sep 2019 13:21:23 -0600 Subject: [PATCH] fix getchild for directory --- src/allmydata/web/directory.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/allmydata/web/directory.py b/src/allmydata/web/directory.py index b5cb359c0..68a58dcaf 100644 --- a/src/allmydata/web/directory.py +++ b/src/allmydata/web/directory.py @@ -116,12 +116,15 @@ class DirectoryNodeHandler(ReplaceMeMixin, Resource, object): """ Dynamically create a child for the given request and name """ - # XXX can we do this with putChild() instead? (i.e. does it - # HAVE to be dynamic?) - if name is None: - name = get_arg(req, "uri") - d = self.node.get(name.decode('utf8')) + if self.name is None: + return self + name = name.decode("utf-8") + if not name: + raise EmptyPathnameComponentError() + d = self.node.get(name) d.addBoth(self._got_child, req, name) + # got_child returns a handler resource: FileNodeHandler or + # DirectoryNodeHandler return d def _got_child(self, node_or_failure, req, name):