Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
fcwu
GitHub Repository: fcwu/docker-ubuntu-vnc-desktop
Path: blob/develop/rootfs/usr/local/lib/web/backend/vnc/response.py
387 views
1
from __future__ import (
2
absolute_import, division, print_function, with_statement
3
)
4
from functools import wraps
5
import logging
6
from flask import jsonify
7
8
9
log = logging.getLogger()
10
11
12
class PermissionDenied(Exception):
13
pass
14
15
16
class BadRequest(Exception):
17
pass
18
19
20
def httperror(f):
21
@wraps(f)
22
def func(*args, **kwargs):
23
result = {
24
'code': 400,
25
'errorMessage': '',
26
}
27
try:
28
return f(*args, **kwargs)
29
except PermissionDenied as e:
30
result['code'] = 403
31
result['errorMessage'] = str(e)
32
except BadRequest as e:
33
result['code'] = 400
34
result['errorMessage'] = str(e)
35
except Exception as e:
36
logging.exception(e)
37
result['code'] = 500
38
result['errorMessage'] = str(e)
39
return jsonify(result)
40
return func
41
42