summaryrefslogtreecommitdiffstats
path: root/server.lua
diff options
context:
space:
mode:
Diffstat (limited to 'server.lua')
-rw-r--r--server.lua7
1 files changed, 6 insertions, 1 deletions
diff --git a/server.lua b/server.lua
index 0425b5e..468cdc3 100644
--- a/server.lua
+++ b/server.lua
@@ -4,6 +4,7 @@ See LICENSE file for license details
--]]
local acf = require('acf2')
+local mbin = acf.model.binary
local mnode = acf.model.node
local isinstance = acf.object.isinstance
@@ -181,13 +182,17 @@ return function(env)
'read'
)
v = mnode.path(v)
- end
+
+ elseif isinstance(v, mbin.Data) then v = v.path end
if readable then node[k] = v end
end
res = {data=node, meta=mnode.meta(obj)}
elseif mnode.has_permission(parent, user, 'read') then
+ if isinstance(obj, mbin.Data) then
+ obj = obj:encode()
+ end
res = {data=obj, meta=mnode.mmeta(parent, name)}
else return 403 end