From bd014929df406943b44b4d901951d2f4a80c77c0 Mon Sep 17 00:00:00 2001 From: lonpatovaadelina Date: Tue, 26 May 2026 09:12:50 +0000 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D1=82=D1=8C=20so?= =?UTF-8?q?lutions/69a86305c46fd26feae6bcaa=5FHuman-in-the-Loop=5F=D1=87?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=B7=5Fmiddleware/solution.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../solution.py | 55 ------------------- 1 file changed, 55 deletions(-) delete mode 100644 solutions/69a86305c46fd26feae6bcaa_Human-in-the-Loop_через_middleware/solution.py diff --git a/solutions/69a86305c46fd26feae6bcaa_Human-in-the-Loop_через_middleware/solution.py b/solutions/69a86305c46fd26feae6bcaa_Human-in-the-Loop_через_middleware/solution.py deleted file mode 100644 index e4b7a7b..0000000 --- a/solutions/69a86305c46fd26feae6bcaa_Human-in-the-Loop_через_middleware/solution.py +++ /dev/null @@ -1,55 +0,0 @@ -# Human-in-the-Loop Middleware -# -# В этом примере реализован простой middleware, который позволяет -# вставлять человека в цикл обработки запросов. Он может быть использован -# в веб‑приложениях, чат‑ботах и других системах, где требуется -# ручная проверка или подтверждение. - -from typing import Callable, Any, Dict - -class HumanInTheLoopMiddleware: - """ - Middleware, который вызывает функцию‑обработчик для - каждого запроса. Если обработчик возвращает ``False`` - (или ``None``), запрос считается отклонённым и - передаётся в ручную обработку. - """ - - def __init__(self, handler: Callable[[Dict[str, Any]], bool]): - self.handler = handler - - def __call__(self, request: Dict[str, Any]) -> Dict[str, Any]: - # Предварительная проверка - approved = self.handler(request) - if not approved: - # Запрос отправляется в ручную обработку - # В реальном проекте здесь может быть вызов внешнего сервиса - # или отправка письма/сообщения в чат. - return { - "status": "pending", - "reason": "human review required", - "original": request, - } - # Если проверка пройдена – продолжаем обработку - return { - "status": "approved", - "original": request, - } - -# Пример простого обработчика, который проверяет наличие ключа "approve" -# в запросе. Если ключ отсутствует – запрос отклоняется. - -def simple_handler(request: Dict[str, Any]) -> bool: - return request.get("approve", False) - -# Пример использования -if __name__ == "__main__": - middleware = HumanInTheLoopMiddleware(simple_handler) - - # Запрос, который будет отклонён - req1 = {"id": 1, "data": "test"} - print(middleware(req1)) - - # Запрос, который будет одобрен - req2 = {"id": 2, "data": "test", "approve": True} - print(middleware(req2))