werkzeug

Форк
0
32 строки · 817.0 Байт
1
import json
2
import sys
3
from importlib import import_module
4

5
from werkzeug.serving import generate_adhoc_ssl_context
6
from werkzeug.serving import run_simple
7
from werkzeug.wrappers import Request
8
from werkzeug.wrappers import Response
9

10
name = sys.argv[1]
11
mod = import_module(f"{name}_app")
12

13

14
@Request.application
15
def app(request):
16
    if request.path == "/ensure":
17
        return Response()
18

19
    return Response.from_app(mod.app, request.environ)
20

21

22
kwargs = getattr(mod, "kwargs", {})
23
kwargs.update(hostname="127.0.0.1", port=5000, application=app)
24
kwargs.update(json.loads(sys.argv[2]))
25
ssl_context = kwargs.get("ssl_context")
26

27
if ssl_context == "custom":
28
    kwargs["ssl_context"] = generate_adhoc_ssl_context()
29
elif isinstance(ssl_context, list):
30
    kwargs["ssl_context"] = tuple(ssl_context)
31

32
run_simple(**kwargs)
33

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.