mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-02-03 23:41:51 +00:00
* Address issues found by ruff check. * Make mypy happy; remove some Python 2 compat code. * Also declare port1.
28 lines
982 B
Python
28 lines
982 B
Python
# Copyright (c) Ansible Project
|
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
from __future__ import annotations
|
|
import ssl
|
|
import os
|
|
import sys
|
|
|
|
root_dir = sys.argv[1]
|
|
port = int(sys.argv[2])
|
|
|
|
from http.server import HTTPServer, SimpleHTTPRequestHandler
|
|
|
|
httpd = HTTPServer(("localhost", port), SimpleHTTPRequestHandler)
|
|
try:
|
|
httpd.socket = ssl.wrap_socket( # type: ignore[attr-defined]
|
|
httpd.socket,
|
|
server_side=True,
|
|
certfile=os.path.join(root_dir, "cert.pem"),
|
|
keyfile=os.path.join(root_dir, "key.pem"),
|
|
)
|
|
except AttributeError:
|
|
# Python 3.12 or newer:
|
|
context = ssl.create_default_context(purpose=ssl.Purpose.CLIENT_AUTH)
|
|
context.load_cert_chain(certfile=os.path.join(root_dir, "cert.pem"), keyfile=os.path.join(root_dir, "key.pem"))
|
|
httpd.socket = context.wrap_socket(httpd.socket)
|
|
httpd.handle_request()
|