mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
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.
This commit is contained in:
parent
4e796f5646
commit
9a95fa9267
2 changed files with 6 additions and 2 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue