summaryrefslogtreecommitdiff
path: root/service/pixelated/user_agent.py
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated/user_agent.py')
-rw-r--r--service/pixelated/user_agent.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/service/pixelated/user_agent.py b/service/pixelated/user_agent.py
index 2dc71bf0..8c7440b0 100644
--- a/service/pixelated/user_agent.py
+++ b/service/pixelated/user_agent.py
@@ -47,9 +47,11 @@ app = Flask(__name__, static_url_path='', static_folder=static_folder)
DISABLED_FEATURES = ['draftReply', 'signatureStatus', 'encryptionStatus', 'contacts']
-def respond_json(entity):
- response = json.dumps(entity)
- return Response(response=response, mimetype="application/json")
+def respond_json(entity, status_code=200):
+ json_response = json.dumps(entity)
+ response = Response(response=json_response, mimetype="application/json")
+ response.status_code = status_code
+ return response
@app.route('/disabled_features')
@@ -127,7 +129,10 @@ def mail(mail_id):
@app.route('/mail/<mail_id>/tags', methods=['POST'])
def mail_tags(mail_id):
new_tags = map(lambda tag: tag.lower(), request.get_json()['newtags'])
- tags = mail_service.update_tags(mail_id, new_tags)
+ try:
+ tags = mail_service.update_tags(mail_id, new_tags)
+ except ValueError as ve:
+ return respond_json(ve.message, 403)
return respond_json(list(tags))