aboutsummaryrefslogtreecommitdiff
path: root/budget/rest.py
diff options
context:
space:
mode:
Diffstat (limited to 'budget/rest.py')
-rw-r--r--budget/rest.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/budget/rest.py b/budget/rest.py
index 8ade14b..f237217 100644
--- a/budget/rest.py
+++ b/budget/rest.py
@@ -114,7 +114,7 @@ def need_auth(authentifier, name=None, remove_attr=True):
del kwargs["%s_id" % name]
return func(*args, **kwargs)
else:
- raise werkzeug.exceptions.Forbidden()
+ return 403, "Forbidden"
return wrapped
return wrapper
@@ -128,13 +128,15 @@ def serialize(func):
# get the mimetype
mime = request.accept_mimetypes.best_match(SERIALIZERS.keys())
data = func(*args, **kwargs)
+ serializer = SERIALIZERS[mime]
- if isinstance(data, werkzeug.Response):
- return data
- else:
- # serialize it
- return werkzeug.Response(SERIALIZERS[mime].encode(data),
- status=200, mimetype=mime)
+ status = 200
+ if len(data) == 2:
+ status, data = data
+
+ # serialize it
+ return werkzeug.Response(serializer.encode(data),
+ status=status, mimetype=mime)
return wrapped