aboutsummaryrefslogtreecommitdiff
path: root/backend/cgi-bin
diff options
context:
space:
mode:
authorTerry Truong <terry06890@gmail.com>2022-07-08 02:16:42 +1000
committerTerry Truong <terry06890@gmail.com>2022-07-08 02:23:23 +1000
commit2508c7cf38ed412bdffffd74b31d003651571187 (patch)
treeab27930fc6fc9542710e1391332c3e1c2d6d7737 /backend/cgi-bin
parentef4a9b9223d6019f0b782eb2f944f3cfe2b6ed41 (diff)
Add basic conversion to POST requeststest-post-reqs
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.
Diffstat (limited to 'backend/cgi-bin')
-rwxr-xr-xbackend/cgi-bin/data.py13
1 files changed, 9 insertions, 4 deletions
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