Implemented 400 response code on error
This commit is contained in:
@@ -21,33 +21,35 @@ def process_xml(request: request, type: str) -> str:
|
||||
:rtype: str
|
||||
"""
|
||||
start = time.time_ns()
|
||||
|
||||
response = dict()
|
||||
code = 200
|
||||
response_json = dict()
|
||||
try:
|
||||
request_data = json.loads(request.get_data(as_text=True))
|
||||
data = request_data['data']
|
||||
process = request_data['process']
|
||||
if (type == "xsd"):
|
||||
response['result'] = Parser.xsd(data, process)
|
||||
response_json['result'] = Parser.xsd(data, process)
|
||||
elif (type == "xslt"):
|
||||
response['result'] = Parser.xslt(data, process)
|
||||
response_json['result'] = Parser.xslt(data, process)
|
||||
elif (type == "xpath"):
|
||||
response['result'] = Parser.xpath(data, process)
|
||||
response_json['result'] = Parser.xpath(data, process)
|
||||
else:
|
||||
raise ValueError("Valid operation types are: xsd, xslt, xpath")
|
||||
|
||||
response['status'] = "OK"
|
||||
response_json['status'] = "OK"
|
||||
except KeyError as e:
|
||||
response['result'] = "Missing key: " + str(e)
|
||||
response['status'] = "ERR"
|
||||
response_json['result'] = "Missing key: " + str(e)
|
||||
response_json['status'] = "ERR"
|
||||
code = 400
|
||||
except Exception as e:
|
||||
response['result'] = str(e)
|
||||
response['status'] = "ERR"
|
||||
response_json['result'] = str(e)
|
||||
response_json['status'] = "ERR"
|
||||
code = 400
|
||||
finally:
|
||||
exec_time = (time.time_ns() - start) / 10**6
|
||||
response['time'] = f"{exec_time:.03f}"
|
||||
response['processor'] = "libxml2 over lxml"
|
||||
return json.dumps(response)
|
||||
response_json['time'] = f"{exec_time:.03f}"
|
||||
response_json['processor'] = "libxml2 over lxml"
|
||||
return json.dumps(response_json), code
|
||||
|
||||
|
||||
@app.route("/xpathpost", methods=["POST"])
|
||||
|
||||
Reference in New Issue
Block a user