# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2022, aiogram Team
# This file is distributed under the same license as the aiogram package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2022.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: aiogram \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-01 22:51+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.10.3\n"

#: ../../dispatcher/middlewares.rst:3
msgid "Middlewares"
msgstr ""

#: ../../dispatcher/middlewares.rst:5
msgid ""
"**aiogram** provides powerful mechanism for customizing event handlers "
"via middlewares."
msgstr ""

#: ../../dispatcher/middlewares.rst:7
msgid ""
"Middlewares in bot framework seems like Middlewares mechanism in web-"
"frameworks like `aiohttp "
"<https://docs.aiohttp.org/en/stable/web_advanced.html#aiohttp-web-"
"middlewares>`_, `fastapi "
"<https://fastapi.tiangolo.com/tutorial/middleware/>`_, `Django "
"<https://docs.djangoproject.com/en/3.0/topics/http/middleware/>`_ or "
"etc.) with small difference - here is implemented two layers of "
"middlewares (before and after filters)."
msgstr ""

#: ../../dispatcher/middlewares.rst:15
msgid ""
"Middleware is function that triggered on every event received from "
"Telegram Bot API in many points on processing pipeline."
msgstr ""

#: ../../dispatcher/middlewares.rst:19
msgid "Base theory"
msgstr ""

#: ../../dispatcher/middlewares.rst:21
msgid "As many books and other literature in internet says:"
msgstr ""

#: ../../dispatcher/middlewares.rst:23
msgid ""
"Middleware is reusable software that leverages patterns and frameworks to"
" bridge the gap between the functional requirements of applications and "
"the underlying operating systems, network protocol stacks, and databases."
msgstr ""

#: ../../dispatcher/middlewares.rst:27
msgid ""
"Middleware can modify, extend or reject processing event in many places "
"of pipeline."
msgstr ""

#: ../../dispatcher/middlewares.rst:30
msgid "Basics"
msgstr ""

#: ../../dispatcher/middlewares.rst:32
msgid ""
"Middleware instance can be applied for every type of Telegram Event "
"(Update, Message, etc.) in two places"
msgstr ""

#: ../../dispatcher/middlewares.rst:34
msgid ""
"Outer scope - before processing filters "
"(:code:`<router>.<event>.outer_middleware(...)`)"
msgstr ""

#: ../../dispatcher/middlewares.rst:35
msgid ""
"Inner scope - after processing filters but before handler "
"(:code:`<router>.<event>.middleware(...)`)"
msgstr ""

#: ../../dispatcher/middlewares.rst:-1
msgid "Middleware basics"
msgstr ""

#: ../../dispatcher/middlewares.rst:42
msgid ""
"Middleware should be subclass of :code:`BaseMiddleware` (:code:`from "
"aiogram import BaseMiddleware`) or any async callable"
msgstr ""

#: ../../dispatcher/middlewares.rst:45
msgid "Arguments specification"
msgstr ""

#: aiogram.dispatcher.middlewares.base.BaseMiddleware:1 of
msgid "Bases: :py:class:`~abc.ABC`"
msgstr ""

#: aiogram.dispatcher.middlewares.base.BaseMiddleware:1 of
msgid "Generic middleware class"
msgstr ""

#: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:1 of
msgid "Execute middleware"
msgstr ""

#: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__ of
msgid "Parameters"
msgstr ""

#: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:3 of
msgid "Wrapped handler in middlewares chain"
msgstr ""

#: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:4 of
msgid "Incoming event (Subclass of :class:`aiogram.types.base.TelegramObject`)"
msgstr ""

#: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:5 of
msgid "Contextual data. Will be mapped to handler arguments"
msgstr ""

#: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__ of
msgid "Returns"
msgstr ""

#: aiogram.dispatcher.middlewares.base.BaseMiddleware.__call__:6 of
msgid ":class:`Any`"
msgstr ""

#: ../../dispatcher/middlewares.rst:56
msgid "Examples"
msgstr ""

#: ../../dispatcher/middlewares.rst:60
msgid ""
"Middleware should always call :code:`await handler(event, data)` to "
"propagate event for next middleware/handler"
msgstr ""

#: ../../dispatcher/middlewares.rst:64
msgid "Class-based"
msgstr ""

#: ../../dispatcher/middlewares.rst:85
msgid "and then"
msgstr ""

#: ../../dispatcher/middlewares.rst:94
msgid "Function-based"
msgstr ""

#: ../../dispatcher/middlewares.rst:109
msgid "Facts"
msgstr ""

#: ../../dispatcher/middlewares.rst:111
msgid "Middlewares from outer scope will be called on every incoming event"
msgstr ""

#: ../../dispatcher/middlewares.rst:112
msgid "Middlewares from inner scope will be called only when filters pass"
msgstr ""

#: ../../dispatcher/middlewares.rst:113
msgid ""
"Inner middlewares is always calls for "
":class:`aiogram.types.update.Update` event type in due to all incoming "
"updates going to specific event type handler through built in update "
"handler"
msgstr ""
