Timeout and Base64 encoding support for fileGet
This commit is contained in:
parent
bf34d95bc1
commit
54c553d13b
1 changed files with 6 additions and 2 deletions
|
@ -512,14 +512,18 @@ class UiWebsocket(object):
|
||||||
return self.response(to, rows)
|
return self.response(to, rows)
|
||||||
|
|
||||||
# Return file content
|
# Return file content
|
||||||
def actionFileGet(self, to, inner_path, required=True):
|
def actionFileGet(self, to, inner_path, required=True, format="text", timeout=300):
|
||||||
try:
|
try:
|
||||||
if required or inner_path in self.site.bad_files:
|
if required or inner_path in self.site.bad_files:
|
||||||
self.site.needFile(inner_path, priority=6)
|
with gevent.Timeout(timeout):
|
||||||
|
self.site.needFile(inner_path, priority=6)
|
||||||
body = self.site.storage.read(inner_path)
|
body = self.site.storage.read(inner_path)
|
||||||
except Exception, err:
|
except Exception, err:
|
||||||
self.log.debug("%s fileGet error: %s" % (inner_path, err))
|
self.log.debug("%s fileGet error: %s" % (inner_path, err))
|
||||||
body = None
|
body = None
|
||||||
|
if body and format == "base64":
|
||||||
|
import base64
|
||||||
|
body = base64.b64encode(body)
|
||||||
return self.response(to, body)
|
return self.response(to, body)
|
||||||
|
|
||||||
def actionFileRules(self, to, inner_path):
|
def actionFileRules(self, to, inner_path):
|
||||||
|
|
Loading…
Reference in a new issue