From be3db6e6057e132dfa92e20016e54bb934f01069 Mon Sep 17 00:00:00 2001 From: "Alec.Schmidt" Date: Wed, 12 Mar 2025 21:11:29 +0100 Subject: [PATCH] fix: API endpoints input type safety --- src/app.py | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/src/app.py b/src/app.py index 155c93e..2f04ffc 100644 --- a/src/app.py +++ b/src/app.py @@ -45,30 +45,43 @@ global_data = {'username': 'no_user'} # incrementation route @app.route('/inc') def plus_one(): - x = int(request.args.get('x', 1)) + try: + x = int(request.args.get('x', 1)) + except: + return json.dumps({"error": "Type error"}) + return json.dumps({'x': operators.addition(x, 1)}) # addition route, the parameters will be passed with 'x' and 'y' @app.route('/add') def plus_y(): - x = int(request.args.get('x', 1)) - y = int(request.args.get('y', 1)) + try: + x = int(request.args.get('x', 1)) + y = int(request.args.get('y', 1)) + except: + return json.dumps({"error": "Type error"}) return json.dumps({'result': operators.addition(x, y)}) # multiplication route, the parameters will be passed with 'x' and 'y' @app.route('/mul') def multiply_y(): - x = int(request.args.get('x', 1)) - y = int(request.args.get('y', 1)) + try: + x = int(request.args.get('x', 1)) + y = int(request.args.get('y', 1)) + except: + return json.dumps({"error": "Type error"}) return json.dumps({'result': operators.multiplication(x, y)}) # division route, the parameters will be passed with 'x' and 'y' @app.route('/div') def division_y(): - x = int(request.args.get('x', 1)) - y = int(request.args.get('y', 1)) + try: + x = int(request.args.get('x', 1)) + y = int(request.args.get('y', 1)) + except: + return json.dumps({"error": "Type error"}) return json.dumps({'result': operators.division(x, y)})