mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
Issue 14989: http.server --cgi option can enable the CGI http server.
This commit is contained in:
parent
c68e1368b5
commit
1251fafcc5
3 changed files with 24 additions and 7 deletions
|
@ -400,3 +400,9 @@ the previous example, this serves files relative to the current directory. ::
|
|||
|
||||
Note that CGI scripts will be run with UID of user nobody, for security
|
||||
reasons. Problems with the CGI script will be translated to error 403.
|
||||
|
||||
:class:`CGIHTTPRequestHandler` can be enabled in the command line by passing
|
||||
the ``--cgi`` option.::
|
||||
|
||||
python -m http.server --cgi 8000
|
||||
|
||||
|
|
|
@ -100,6 +100,8 @@ import sys
|
|||
import time
|
||||
import urllib.parse
|
||||
import copy
|
||||
import argparse
|
||||
|
||||
|
||||
# Default error message template
|
||||
DEFAULT_ERROR_MESSAGE = """\
|
||||
|
@ -1173,18 +1175,13 @@ class CGIHTTPRequestHandler(SimpleHTTPRequestHandler):
|
|||
|
||||
|
||||
def test(HandlerClass = BaseHTTPRequestHandler,
|
||||
ServerClass = HTTPServer, protocol="HTTP/1.0"):
|
||||
ServerClass = HTTPServer, protocol="HTTP/1.0", port=8000):
|
||||
"""Test the HTTP request handler class.
|
||||
|
||||
This runs an HTTP server on port 8000 (or the first command line
|
||||
argument).
|
||||
|
||||
"""
|
||||
|
||||
if sys.argv[1:]:
|
||||
port = int(sys.argv[1])
|
||||
else:
|
||||
port = 8000
|
||||
server_address = ('', port)
|
||||
|
||||
HandlerClass.protocol_version = protocol
|
||||
|
@ -1200,4 +1197,15 @@ def test(HandlerClass = BaseHTTPRequestHandler,
|
|||
sys.exit(0)
|
||||
|
||||
if __name__ == '__main__':
|
||||
test(HandlerClass=SimpleHTTPRequestHandler)
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--cgi', action='store_true',
|
||||
help='Run as CGI Server')
|
||||
parser.add_argument('port', action='store',
|
||||
default=8000, type=int,
|
||||
nargs='?',
|
||||
help='Specify alternate port [default: 8000]')
|
||||
args = parser.parse_args()
|
||||
if args.cgi:
|
||||
test(HandlerClass=CGIHTTPRequestHandler, port=args.port)
|
||||
else:
|
||||
test(HandlerClass=SimpleHTTPRequestHandler, port=args.port)
|
||||
|
|
|
@ -10,6 +10,9 @@ What's New in Python 3.3.0 Beta 1?
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #14989: Make the CGI enable option to http.server available via command
|
||||
line.
|
||||
|
||||
- Issue #14987: Add a missing import statement to inspect.
|
||||
|
||||
- Issue #1079: email.header.decode_header now correctly parses all the examples
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue