diff --git a/aiogram/client/session/aiohttp.py b/aiogram/client/session/aiohttp.py index 7b83ad9a..1dd7bb42 100644 --- a/aiogram/client/session/aiohttp.py +++ b/aiogram/client/session/aiohttp.py @@ -19,7 +19,7 @@ from aiohttp import BasicAuth, ClientSession, FormData, TCPConnector from aiogram.methods import Request, TelegramMethod -from .base import BaseSession +from .base import BaseSession, UNSET if TYPE_CHECKING: # pragma: no cover from ..bot import Bot @@ -121,7 +121,7 @@ class AiohttpSession(BaseSession): def build_form_data(self, request: Request) -> FormData: form = FormData(quote_fields=False) for key, value in request.data.items(): - if value is None: + if value is None or value is UNSET: continue form.add_field(key, self.prepare_value(value)) if request.files: diff --git a/tests/test_api/test_client/test_session/test_aiohttp_session.py b/tests/test_api/test_client/test_session/test_aiohttp_session.py index 3c50f69a..5649628b 100644 --- a/tests/test_api/test_client/test_session/test_aiohttp_session.py +++ b/tests/test_api/test_client/test_session/test_aiohttp_session.py @@ -8,7 +8,7 @@ from aiogram import Bot from aiogram.client.session import aiohttp from aiogram.client.session.aiohttp import AiohttpSession from aiogram.methods import Request, TelegramMethod -from aiogram.types import InputFile +from aiogram.types import InputFile, UNSET from tests.mocked_bot import MockedBot try: @@ -118,6 +118,7 @@ class TestAiohttpSession: "str": "value", "int": 42, "bool": True, + "unset": UNSET, "null": None, "list": ["foo"], "dict": {"bar": "baz"},