Timeout and Base64 encoding support for fileGet

This commit is contained in:
shortcutme 2017-01-22 11:09:45 +01:00
parent bf34d95bc1
commit 54c553d13b
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE

View file

@ -512,14 +512,18 @@ class UiWebsocket(object):
return self.response(to, rows)
# Return file content
def actionFileGet(self, to, inner_path, required=True):
def actionFileGet(self, to, inner_path, required=True, format="text", timeout=300):
try:
if required or inner_path in self.site.bad_files:
with gevent.Timeout(timeout):
self.site.needFile(inner_path, priority=6)
body = self.site.storage.read(inner_path)
except Exception, err:
self.log.debug("%s fileGet error: %s" % (inner_path, err))
body = None
if body and format == "base64":
import base64
body = base64.b64encode(body)
return self.response(to, body)
def actionFileRules(self, to, inner_path):