bpo-36345: Update wsgiref example (GH-12562) · python/cpython@2b7f93b (original) (raw)

Original file line number Diff line number Diff line change
@@ -783,33 +783,7 @@ This is a working "Hello World" WSGI application::
783 783 httpd.serve_forever()
784 784
785 785
786 -Example of a small wsgiref-based web server::
787 -
788 - # Takes a path to serve from and an optional port number (defaults to 8000),
789 - # then tries to serve files. Mime types are guessed from the file names, 404
790 - # errors are raised if the file is not found.
791 - import sys
792 - import os
793 - import mimetypes
794 - from wsgiref import simple_server, util
795 -
796 - def app(environ, respond):
797 - fn = os.path.join(path, environ['PATH_INFO'][1:])
798 - if '.' not in fn.split(os.path.sep)[-1]:
799 - fn = os.path.join(fn, 'index.html')
800 - type = mimetypes.guess_type(fn)[0]
801 -
802 - if os.path.exists(fn):
803 - respond('200 OK', [('Content-Type', type)])
804 - return util.FileWrapper(open(fn, "rb"))
805 - else:
806 - respond('404 Not Found', [('Content-Type', 'text/plain')])
807 - return [b'not found']
808 -
809 - path = sys.argv[1]
810 - port = int(sys.argv[2]) if len(sys.argv) > 2 else 8000
811 - with simple_server.make_server('', port, app) as httpd:
812 - print("Serving {} on port {}, control-C to stop".format(path, port))
813 -
814 - # Serve until process is killed
815 - httpd.serve_forever()
786 +Example of a WSGI application serving the current directory, accept optional
787 +directory and port number (default: 8000) on the command line:
788 +
789 +.. literalinclude:: ../../Tools/scripts/serve.py