Make http.server main program nicer for interactive use.
Remove unreachable calls to test().
This restores the behavior of SimpleHTTPServer, where a user could
type "python -m SimpleHTTPServer" and get a simple server for sharing
files. Now, you can do the same thing with "python3 -m http.server".
diff --git a/Lib/http/server.py b/Lib/http/server.py
index 31153f4..5b5ef0a 100644
--- a/Lib/http/server.py
+++ b/Lib/http/server.py
@@ -1082,10 +1082,12 @@
sa = httpd.socket.getsockname()
print("Serving HTTP on", sa[0], "port", sa[1], "...")
- httpd.serve_forever()
-
+ try:
+ httpd.serve_forever()
+ except KeyboardInterrupt:
+ print("\nKeyboard interrupt received, exiting.")
+ httpd.server_close()
+ sys.exit(0)
if __name__ == '__main__':
- test(HandlerClass=BaseHTTPRequestHandler)
test(HandlerClass=SimpleHTTPRequestHandler)
- test(HandlerClass=CGIHTTPRequestHandler)