Gitweb links:
...log
http://git.netsurf-browser.org/netsurf-test.git/shortlog/2b2a8da3a2fb2a56422baf1d6588fc46852c8b5c
...commit
http://git.netsurf-browser.org/netsurf-test.git/commit/2b2a8da3a2fb2a56422baf1d6588fc46852c8b5c
...tree
http://git.netsurf-browser.org/netsurf-test.git/tree/2b2a8da3a2fb2a56422baf1d6588fc46852c8b5c
The branch, master has been updated
via 2b2a8da3a2fb2a56422baf1d6588fc46852c8b5c (commit)
from 04f1d255d72466724468a876cfff46f73f560a9c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf-test.git/commit/?id=2b2a8da3a2fb2a56422baf1d6588fc46852c8b5c
commit 2b2a8da3a2fb2a56422baf1d6588fc46852c8b5c
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>
Initial env.cgi
diff --git a/cgi-bin/env.cgi b/cgi-bin/env.cgi
new file mode 100755
index 0000000..ffd6785
--- /dev/null
+++ b/cgi-bin/env.cgi
@@ -0,0 +1,65 @@
+#!/usr/bin/python3
+
+import cgi
+import cgitb
+import os
+import sys
+import io
+
+cgitb.enable()
+
+print("Content-Type: text/plain")
+print("")
+
+permitted_env = set([
+ "DOCUMENT_ROOT",
+ "QUERY_STRING",
+ "GATEWAY_INTERFACE",
+])
+
+permitted_prefix = [
+ "HTTP",
+ "REQUEST_",
+ "SERVER_",
+ "REMOTE_",
+ "SCRIPT_",
+ "PATH_",
+ "AUTH_",
+ "CONTENT_",
+]
+
+for k in sorted(os.environ.keys()):
+ if k in permitted_env or any((k.startswith(p) for p in permitted_prefix)):
+ print("ENV:{}:{}".format(k, os.environ[k]))
+
+if "QUERY_STRING" in os.environ:
+ qs = cgi.parse_qs(os.getenv("QUERY_STRING"))
+ for k, vs in qs.items():
+ for i, v in enumerate(vs):
+ if len(vs) > 1:
+ idx = "[{}]".format(i)
+ else:
+ idx = ""
+ print("QS:{}{}:{}".format(k, idx, v))
+
+stdin_content = sys.stdin.buffer.read()
+
+print("STDIN:START")
+sys.stdout.flush()
+sys.stdout.buffer.write(stdin_content)
+print("STDIN:END")
+
+valid_post_types = [
+ "application/x-www-form-urlencoded",
+ "multipart/form-data",
+]
+
+if os.environ.get("CONTENT_TYPE", "") in valid_post_types:
+ stdin_io = io.BytesIO(stdin_content)
+ fields = cgi.parse(stdin_io)
+ for k in sorted(fields.keys()):
+ print("POST:{}:{}".format(k, fields[k]))
+
+print("END")
+
+
-----------------------------------------------------------------------
Summary of changes:
cgi-bin/env.cgi | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 65 insertions(+)
create mode 100755 cgi-bin/env.cgi
diff --git a/cgi-bin/env.cgi b/cgi-bin/env.cgi
new file mode 100755
index 0000000..ffd6785
--- /dev/null
+++ b/cgi-bin/env.cgi
@@ -0,0 +1,65 @@
+#!/usr/bin/python3
+
+import cgi
+import cgitb
+import os
+import sys
+import io
+
+cgitb.enable()
+
+print("Content-Type: text/plain")
+print("")
+
+permitted_env = set([
+ "DOCUMENT_ROOT",
+ "QUERY_STRING",
+ "GATEWAY_INTERFACE",
+])
+
+permitted_prefix = [
+ "HTTP",
+ "REQUEST_",
+ "SERVER_",
+ "REMOTE_",
+ "SCRIPT_",
+ "PATH_",
+ "AUTH_",
+ "CONTENT_",
+]
+
+for k in sorted(os.environ.keys()):
+ if k in permitted_env or any((k.startswith(p) for p in permitted_prefix)):
+ print("ENV:{}:{}".format(k, os.environ[k]))
+
+if "QUERY_STRING" in os.environ:
+ qs = cgi.parse_qs(os.getenv("QUERY_STRING"))
+ for k, vs in qs.items():
+ for i, v in enumerate(vs):
+ if len(vs) > 1:
+ idx = "[{}]".format(i)
+ else:
+ idx = ""
+ print("QS:{}{}:{}".format(k, idx, v))
+
+stdin_content = sys.stdin.buffer.read()
+
+print("STDIN:START")
+sys.stdout.flush()
+sys.stdout.buffer.write(stdin_content)
+print("STDIN:END")
+
+valid_post_types = [
+ "application/x-www-form-urlencoded",
+ "multipart/form-data",
+]
+
+if os.environ.get("CONTENT_TYPE", "") in valid_post_types:
+ stdin_io = io.BytesIO(stdin_content)
+ fields = cgi.parse(stdin_io)
+ for k in sorted(fields.keys()):
+ print("POST:{}:{}".format(k, fields[k]))
+
+print("END")
+
+
--
NetSurf test cases
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org