# (Actually, the latter is only true if you know the server configuration
# at the time the request was made!)
-__version__ = "0.6"
-
__all__ = [
"HTTPServer", "ThreadingHTTPServer",
"HTTPSServer", "ThreadingHTTPSServer",
# The server software version. You may want to override this.
# The format is multiple whitespace-separated strings,
# where each string is of the form name[/version].
- server_version = "BaseHTTP/" + __version__
+ server_version = "BaseHTTP"
error_message_format = DEFAULT_ERROR_MESSAGE
error_content_type = DEFAULT_ERROR_CONTENT_TYPE
"""
- server_version = "SimpleHTTP/" + __version__
+ server_version = "SimpleHTTP"
index_pages = ("index.html", "index.htm")
extensions_map = _encodings_map_default = {
'.gz': 'application/gzip',
)
+def __getattr__(name):
+ if name == "__version__":
+ from warnings import _deprecated
+
+ _deprecated("__version__", remove=(3, 20))
+ return "0.6" # Do not change
+ raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
+
+
if __name__ == '__main__':
_main()
self.assertEqual(res, self.served_data)
+class TestModule(unittest.TestCase):
+ def test_deprecated__version__(self):
+ with self.assertWarnsRegex(
+ DeprecationWarning,
+ "'__version__' is deprecated and slated for removal in Python 3.20",
+ ) as cm:
+ getattr(http.server, "__version__")
+ self.assertEqual(cm.filename, __file__)
+
+
def setUpModule():
unittest.addModuleCleanup(os.chdir, os.getcwd())