I have a callback function that I want to encapsulate with Flask so that HTTP can be called. The code is as follows:
lib= c.CDLL("comparedFace.dll")
CALLBACKFUNC = c.CFUNCTYPE(None, c.c_int, c.c_char_p)
lib.startComparedFace.restype = c.c_int
lib.startComparedFace.argtypes = (c.c_char_p, c.c_char_p, CALLBACKFUNC)
@app.route("/compare", methods=["GET", "POST"])
def test():
if request.method == "POST":
request_json = request.get_json()
print(request_json)
number = request_json.get("number")
image01 = request_json.get("image01")
image02 = request_json.get("image02")
print(image01)
print(image02)
@c.CFUNCTYPE(None, c.c_int, c.c_char_p)
@copy_current_request_context
def callback(status, result_string):
result_json = json.loads(result_string)
distance = result_json["compareResult"]
resp_data = {
"number": number,
"distance": distance,
}
print(resp_data)
response = Response(
response=json.dumps(resp_data),
status=200,
mimetype="application/json"
)
return response
lib.startComparedFace(b"d:/1.jpg", b"d:/2.jpg", callback)
when running, an error will be reported ValueError: View function did not return a response
, which is normal. After lib.startComparedFace is running, no return is found to reply
I want to know, in flask, how to get me to return response, in the callback function I call instead of immediately. Thank you