kit-sub: на мусорную строку запроса – «HTTP/1.1 400 Bad Request», как у nginx

Python считал такой запрос HTTP/0.9 и отвечал одним телом, без строки статуса и
заголовков. Теперь ошибки разбора запроса идут со строкой статуса HTTP/1.1,
Server: nginx и Connection: close. Тесты – в tools/test/kitsub_http_test.py.
This commit is contained in:
maxdmitrov
2026-10-06 17:02:34 +03:00
parent 1aa9a84e96
commit 220d82c01e
3 changed files with 17 additions and 1 deletions
+3
View File
@@ -372,6 +372,9 @@ class Handler(http.server.BaseHTTPRequestHandler):
def send_error(self, code, message=None, explain=None):
# Свои ответы вместо страницы ошибок Python, в том же виде, что у обычного nginx.
# На мусорную строку запроса Python считает запрос HTTP/0.9 и пишет одно тело, без строки статуса;
# nginx отвечает «HTTP/1.1 400 Bad Request» с заголовками.
self.request_version = "HTTP/1.1"
self.close_connection = True
self.send_html_error(code)