From aa0d7f702f5bdb9c8a1a1e3782e8b362a9b40c8b Mon Sep 17 00:00:00 2001 From: katnyaa Date: Tue, 23 May 2017 13:19:07 +0100 Subject: [PATCH] api: Invalid JSON is a client-side error --- nyaa/api_handler.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nyaa/api_handler.py b/nyaa/api_handler.py index 1ca6625..c6087b4 100644 --- a/nyaa/api_handler.py +++ b/nyaa/api_handler.py @@ -85,7 +85,11 @@ def v2_api_upload(): request_data_field = flask.request.form.get('torrent_data') if request_data_field is None: return flask.jsonify({'errors': ['missing torrent_data field']}), 400 - request_data = json.loads(request_data_field) + + try: + request_data = json.loads(request_data_field) + except json.decoder.JSONDecodeError: + return flask.jsonify({'errors': ['unable to parse valid JSON in torrent_data']}), 400 # Map api keys to upload form fields for key, default in UPLOAD_API_DEFAULTS.items():