going-flying.com gemini git repository
226d60f83e690a54abe5f1faad210ac0aec4c881 - Matthew Ernisse - 1614711187
start collapsing the cgi test shit into one script
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()