diff --git a/apiserver/server.py b/apiserver/server.py index 713a0a8..b6e62be 100644 --- a/apiserver/server.py +++ b/apiserver/server.py @@ -131,7 +131,7 @@ def submit(): except BaseException as e: logging.error('Problem with article submission: {} - {}'.format(e.__class__.__name__, str(e))) print(traceback.format_exc()) - abort(400) + return {'error': str(e)}, 400 @flask_app.route('/api/') diff --git a/webclient/src/Submit.js b/webclient/src/Submit.js index 13060e7..bf2f486 100644 --- a/webclient/src/Submit.js +++ b/webclient/src/Submit.js @@ -17,13 +17,17 @@ function Submit() { data.append('url', url); fetch('/api/submit', { method: 'POST', body: data }) - .then(res => res.json()) + .then(res => res.json().then(data => ({ ok: res.ok, data }))) .then( - (result) => { - history.replace('/' + result.nid); + ({ ok, data }) => { + if (ok) { + history.replace('/' + data.nid); + } else { + setProgress(data.error || 'An unknown error occurred.'); + } }, (error) => { - setProgress('Error'); + setProgress(`Error: ${error.toString()}`); } ); }