From: Myron Walker Date: Thu, 23 Jun 2022 20:30:44 +0000 (-0400) Subject: gh-91219: Add an index_pages default list and parameter to SimpleHTTPRequestHandler... X-Git-Tag: v3.12.0a1~1142 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9a95fa9267590c6cc66f215cd9808905fda1ee25;p=thirdparty%2FPython%2Fcpython.git gh-91219: Add an index_pages default list and parameter to SimpleHTTPRequestHandler (GH-31985) * Add an index_pages default list to SimpleHTTPRequestHandler and an optional constructor parameter that allows the default indexes pages list to be overridden. This makes it easy to set a new index page name without having to override send_head. --- diff --git a/Lib/http/server.py b/Lib/http/server.py index f2aeb6594202..8aee31bac275 100644 --- a/Lib/http/server.py +++ b/Lib/http/server.py @@ -642,6 +642,7 @@ class SimpleHTTPRequestHandler(BaseHTTPRequestHandler): """ + index_pages = ["index.html", "index.htm"] server_version = "SimpleHTTP/" + __version__ extensions_map = _encodings_map_default = { '.gz': 'application/gzip', @@ -650,9 +651,11 @@ class SimpleHTTPRequestHandler(BaseHTTPRequestHandler): '.xz': 'application/x-xz', } - def __init__(self, *args, directory=None, **kwargs): + def __init__(self, *args, directory=None, index_pages=None, **kwargs): if directory is None: directory = os.getcwd() + if index_pages is not None: + self.index_pages = index_pages self.directory = os.fspath(directory) super().__init__(*args, **kwargs) @@ -696,7 +699,7 @@ class SimpleHTTPRequestHandler(BaseHTTPRequestHandler): self.send_header("Content-Length", "0") self.end_headers() return None - for index in "index.html", "index.htm": + for index in self.index_pages: index = os.path.join(path, index) if os.path.exists(index): path = index diff --git a/Misc/NEWS.d/next/Library/2022-03-19-04-41-42.bpo-47063.nwRfUo.rst b/Misc/NEWS.d/next/Library/2022-03-19-04-41-42.bpo-47063.nwRfUo.rst new file mode 100644 index 000000000000..b889d3c65207 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2022-03-19-04-41-42.bpo-47063.nwRfUo.rst @@ -0,0 +1 @@ +Add an index_pages parameter to support using non-default index page names.