Код Junior HTTP, WSGI и ASGI обновлено
Мини-WSGI-приложение с роутингом
Условие
Напишите WSGI-приложение app(environ, start_response): GET /health отвечает 200 OK с телом ok; GET /hello?name=X отвечает 200 OK с телом Hello, X (без name -> Hello, world); неизвестный путь 404 Not Found с телом not found; другой метод на известном пути 405 Method Not Allowed с телом method not allowed. Тело в UTF-8. Проверка run(method, path, query) вызывает приложение и возвращает [статус, тело строкой].
Примеры
run("GET", "/health", "") // ["200 OK", "ok"]
run("GET", "/hello", "name=Аня") // ["200 OK", "Hello, Аня"]
run("GET", "/hello", "") // ["200 OK", "Hello, world"]
Как подойти
Подсказки: 2
environ["PATH_INFO"],environ["REQUEST_METHOD"].urllib.parse.parse_qsдля строки запроса.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.