Практика: первый HTTP-образ
Напишите Dockerfile и исправьте API, чтобы проверяющая среда получила настоящий HTTP-ответ.
После урока вы сможете
- Собрать образ Python-приложения
- Запустить сервер на доступном интерфейсе
- Проверить статус, заголовок и тело ответа
Сначала договоримся об ответе
Задача QA начинается с ожидаемого поведения. Наш сервер должен принимать GET-запрос на порту 8000 и возвращать код 200, JSON и поле message со значением Hello, Docker!. Регистр букв, запятая и восклицательный знак входят в контракт.
HTTP/1.0 200 OK
Content-Type: application/json
{"message": "Hello, Docker!"}
Готовая заготовка использует BaseHTTPRequestHandler. Словарь преобразуется в JSON, затем в байты; длина рассчитывается после кодирования. Это позволяет указать корректный Content-Length. Основная работа здесь — упаковать существующий обработчик и исправить два намеренных дефекта, а не написать HTTP-протокол с нуля.
Пустой ответ с кодом 200 не удовлетворяет заданию. Так же как правильная строка, возвращённая с ошибкой 500. Проверки разделяют транспорт и содержимое, чтобы вы могли понять, что уже работает.