Skip to content
Snippets Groups Projects
Verified Commit efe9a561 authored by TheJoeCoder's avatar TheJoeCoder
Browse files

[Server] Fix json check for false boolean values

parent c3a0fdc3
Branches
No related tags found
No related merge requests found
...@@ -2,7 +2,10 @@ import json, uuid, logging, requests, time ...@@ -2,7 +2,10 @@ import json, uuid, logging, requests, time
from flask import Flask, request, jsonify, Response from flask import Flask, request, jsonify, Response
from pymongo import MongoClient from pymongo import MongoClient
logging.basicConfig(level=logging.INFO)
logger = logging.Logger(__name__) logger = logging.Logger(__name__)
logger.setLevel(logging.DEBUG)
app = Flask(__name__) app = Flask(__name__)
...@@ -54,6 +57,14 @@ def gen_invalid_message(noun: str): ...@@ -54,6 +57,14 @@ def gen_invalid_message(noun: str):
def gen_missing_message(noun: str): def gen_missing_message(noun: str):
return "{\"status\":400, \"message\": \"missing " + noun + "\"}", 400 return "{\"status\":400, \"message\": \"missing " + noun + "\"}", 400
def get_property(request, param):
if (request.headers.get("Content-Type") == "application/json" and request.json.get(param) != None):
return request.json.get(param)
elif (request.args.get(param) != None):
return request.args.get(param)
else:
return None
@app.route("/") @app.route("/")
def hello_world(): def hello_world():
# Return OK message # Return OK message
...@@ -134,6 +145,7 @@ def add_cart_item(): ...@@ -134,6 +145,7 @@ def add_cart_item():
if (stuffed_crust == None): if (stuffed_crust == None):
return gen_missing_message("stuffed crust") return gen_missing_message("stuffed crust")
# Test for invalid stuffed crust and convert to boolean # Test for invalid stuffed crust and convert to boolean
stuffed_crust = str(stuffed_crust) # Convert to string to avoid errors
if (stuffed_crust.lower() == "true"): if (stuffed_crust.lower() == "true"):
stuffed_crust = True stuffed_crust = True
elif (stuffed_crust.lower() == "false"): elif (stuffed_crust.lower() == "false"):
...@@ -186,14 +198,6 @@ def get_cart_total(): ...@@ -186,14 +198,6 @@ def get_cart_total():
grand_total = subtotal + config.delivery_flatrate grand_total = subtotal + config.delivery_flatrate
return "{\"status\":200,\"message\":\"ok\",\"subtotal\":" + str(subtotal) + ",\"delivery_rate\":" + str(config.delivery_flatrate) + ",\"total\":" + str(grand_total) + ",\"breakdown\":" + json.dumps(breakdown) + "}", 200 return "{\"status\":200,\"message\":\"ok\",\"subtotal\":" + str(subtotal) + ",\"delivery_rate\":" + str(config.delivery_flatrate) + ",\"total\":" + str(grand_total) + ",\"breakdown\":" + json.dumps(breakdown) + "}", 200
def get_property(request, param):
if (request.headers.get("Content-Type") == "application/json" and request.json[param]):
return request.json[param]
elif (request.args.get(param)):
return request.args.get(param)
else:
return None
@app.route("/cart/confirmorder", methods=["POST"]) @app.route("/cart/confirmorder", methods=["POST"])
def confirm_order_cart(): def confirm_order_cart():
# Get cart id and key from request # Get cart id and key from request
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment