diff options
Diffstat (limited to 'server.lua')
-rw-r--r-- | server.lua | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -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 |