gemini.git

going-flying.com gemini git repository

summary

tree

log

refs

226d60f83e690a54abe5f1faad210ac0aec4c881 - Matthew Ernisse - 1614711187

start collapsing the cgi test shit into one script

view tree

view raw

diff --git a/cgi-bin/test b/cgi-bin/test
new file mode 100755
index 0000000..5e3b2ce
--- /dev/null
+++ b/cgi-bin/test
@@ -0,0 +1,66 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+
+from gmicgi import GeminiCGI
+
+cgi = GeminiCGI()
+
+MAIN_PAGE='''
+# Molly Brown / gmicgi test suite
+
+=> certificate
+=> input
+
+'''
+
+
+@cgi.route('')
+def default():
+	''' This should be the default route.'''
+	cgi.Response.Ok('text/gemini')
+	print(MAIN_PAGE)
+	print_cgi_environ()
+
+
+@cgi.route('certificate')
+@cgi.certificate_required
+def certificate():
+	''' Require a certificate.'''
+	cgi.Response.Ok('text/gemini')
+	print_cgi_environ()
+
+
+@cgi.route('input')
+@cgi.needs_input('Your input?')
+def input():
+	''' Require Input.'''
+	cgi.Response.Ok('text/gemini')
+	print_cgi_environ()
+
+
+def print_cgi_environ():
+	print('''
+
+## Below enumerates the environment passed by the server to the script.
+
+```
+''')
+	for k, v in os.environ.items():
+		print(f'{k}={v}')
+
+	print()
+	print('''
+
+## And below here are any parameters passed to the script itself.
+
+```
+''')
+
+	print(sys.argv[1:])
+	print()
+	print('```')
+
+if __name__ == '__main__':
+	cgi.run()