From 2508c7cf38ed412bdffffd74b31d003651571187 Mon Sep 17 00:00:00 2001 From: Terry Truong Date: Fri, 8 Jul 2022 02:16:42 +1000 Subject: Add basic conversion to POST requests Using fetch() sent a CORS preflight request, which python's basic server couldn't understand. Using fetch()'s 'no-cors' option seems to just fail. Ended up using Vite's proxy functionality again. CGI script also got unexpected empty command line argument. --- backend/cgi-bin/data.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'backend/cgi-bin/data.py') diff --git a/backend/cgi-bin/data.py b/backend/cgi-bin/data.py index 3579a18..3376972 100755 --- a/backend/cgi-bin/data.py +++ b/backend/cgi-bin/data.py @@ -29,9 +29,10 @@ Query parameters: weakly-trimmed, images-only, and picked-nodes trees. The default is 'images'. """ -if len(sys.argv) > 1: - print(usageInfo, file=sys.stderr) - sys.exit(1) +#if len(sys.argv) > 1: +# print(sys.argv, file=sys.stderr) +# print(usageInfo, file=sys.stderr) +# sys.exit(1) # Classes for objects sent as responses (matches lib.ts types in client-side code) class TolNode: @@ -236,8 +237,12 @@ def respondJson(val): sys.stdout.flush() sys.stdout.buffer.write(content) def handleReq(dbCur): + content_len = int(os.environ["CONTENT_LENGTH"]) + data = sys.stdin.read(content_len) + queryStr = jsonpickle.decode(data)["params"] + print(queryStr, file=sys.stderr) # Get query params - queryStr = os.environ["QUERY_STRING"] if "QUERY_STRING" in os.environ else "" + #queryStr = os.environ["QUERY_STRING"] if "QUERY_STRING" in os.environ else "" queryDict = urllib.parse.parse_qs(queryStr) # Set vars from params name = queryDict["name"][0] if "name" in queryDict else None -- cgit v1.2.3