From: mojtaba <121169359+mojtabapaso@users.noreply.github.com>
Date: Mon, 29 Jan 2024 17:53:46 +0000 (+0330)
Subject: 🌐 Add Persian translation for `docs/fa/docs/tutorial/middleware.md` (#9695)
X-Git-Tag: 0.109.1~28
X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e3728489fad1cdf871faa537472e9028b42304ff;p=thirdparty%2Ffastapi%2Ffastapi.git
🌐 Add Persian translation for `docs/fa/docs/tutorial/middleware.md` (#9695)
---
diff --git a/docs/fa/docs/tutorial/middleware.md b/docs/fa/docs/tutorial/middleware.md
new file mode 100644
index 0000000000..c5752a4b54
--- /dev/null
+++ b/docs/fa/docs/tutorial/middleware.md
@@ -0,0 +1,59 @@
+# Ù
ÛØ§ÙâØ§ÙØ²Ø§Ø± - middleware
+
+Ø´Ù
ا Ù
ÛØªÙاÙÛØ¯ Ù
ÛØ§ÙâØ§ÙØ²Ø§Ø±Ùا را در **FastAPI** اضاÙÙ Ú©ÙÛØ¯.
+
+"Ù
ÛØ§ÙâØ§ÙØ²Ø§Ø±" ÛÚ© تابع است ک٠با ÙØ± Ø¯Ø±Ø®ÙØ§Ø³Øª(request) ÙØ¨Ù از پردازش ØªÙØ³Ø· ÙØ± path operation (عÙ
ÙÛØ§Øª Ù
Ø³ÛØ±) خاص کار Ù
ÛâÚ©ÙØ¯. ÙÙ
ÚÙÛ٠با ÙØ± پاسخ(response) ÙØ¨Ù از بازگشت Ø¢Ù ÙÛØ² کار Ù
ÛâÚ©ÙØ¯.
+
+* ÙØ± **Ø¯Ø±Ø®ÙØ§Ø³ØªÛ (request)** Ú©Ù Ø¨Ù Ø¨Ø±ÙØ§Ù
Ù Ø´Ù
ا Ù
Û Ø¢ÛØ¯ را Ù
Û Ú¯ÛØ±Ø¯.
+* سپس Ù
Û ØªÙØ§Ùد Ú©Ø§Ø±Û Ø¨Ø±Ø§Û Ø¢Ù **Ø¯Ø±Ø®ÙØ§Ø³Øª** Ø§ÙØ¬Ø§Ù
دÙÛØ¯ ÛØ§ ÙØ± کد Ù
ÙØ±Ø¯ ÙÛØ§Ø²ØªØ§Ù را اجرا Ú©ÙÛØ¯.
+* سپس **Ø¯Ø±Ø®ÙØ§Ø³Øª** را ب٠بخش دÛÚ¯Ø±Û Ø§Ø² Ø¨Ø±ÙØ§Ù
Ù (ØªÙØ³Ø· ÛÚ© path operation Ù
شخص) Ø¨Ø±Ø§Û Ù¾Ø±Ø¯Ø§Ø²Ø´ ارسا٠Ù
Û Ú©ÙØ¯.
+* سپس **پاسخ** تÙÙÛØ¯ Ø´Ø¯Ù ØªÙØ³Ø· Ø¨Ø±ÙØ§Ù
٠را (ØªÙØ³Ø· ÛÚ© path operation Ù
شخص) Ø¯Ø±ÛØ§Ùت Ù
ÛâÚ©ÙØ¯.
+* Ù
Û ØªÙØ§Ùد Ú©Ø§Ø±Û Ø¨Ø§ **پاسخ** Ø§ÙØ¬Ø§Ù
دÙÛØ¯ ÛØ§ ÙØ± کد Ù
ÙØ±Ø¯ ÙÛØ§Ø²ØªØ§Ù را اجرا Ú©ÙØ¯.
+* سپس **پاسخ** را برÙ
Û Ú¯Ø±Ø¯Ø§ÙØ¯.
+
+!!! ØªÙØ¬Ù "Ø¬Ø²Ø¦ÛØ§Øª ÙÙÛ"
+ در ØµÙØ±Øª ÙØ¬Ùد ÙØ§Ø¨Ø³ØªÚ¯Û ÙØ§ÛÛ Ø¨Ø§ `yield`Ø Ú©Ø¯ Ø®Ø±ÙØ¬Û **پس از** Ø§Ø¬Ø±Ø§Û Ù
ÛØ§ÙââØ§ÙØ²Ø§Ø± اجرا Ø®ÙØ§Ùد شد.
+
+ در ØµÙØ±Øª ÙØ¬Ùد ÙØ± Ú¯ÙÙÙ ÙØ¸Ø§Û٠پس زÙ
ÛÙÙ (ک٠در اداÙ
Ù ØªÙØ¶ÛØ Ø¯Ø§Ø¯Ù Ù
ÛâØ´ÙÙØ¯)Ø ØªÙ
اÙ
Ù
ÛØ§ÙâØ§ÙØ²Ø§Ø±Ùا *پس از Ø¢Ù* اجرا Ø®ÙØ§ÙÙØ¯ شد.
+
+## ساخت ÛÚ© Ù
ÛØ§Ù Ø§ÙØ²Ø§Ø±
+
+Ø¨Ø±Ø§Û Ø§ÛØ¬Ø§Ø¯ ÛÚ© Ù
ÛØ§ÙâØ§ÙØ²Ø§Ø±Ø از Ø¯Ú©ÙØ±ÛØªÙØ± `@app.middleware("http")` در Ø¨Ø§ÙØ§Û ÛÚ© تابع Ø§Ø³ØªÙØ§Ø¯Ù Ù
ÛâØ´ÙØ¯.
+
+تابع Ù
ÛØ§Ù Ø§ÙØ²Ø§Ø± Ø¯Ø±ÛØ§Ùت Ù
Û Ú©ÙØ¯:
+* `Ø¯Ø±Ø®ÙØ§Ø³Øª`
+* تابع `call_next` Ú©Ù `Ø¯Ø±Ø®ÙØ§Ø³Øª` را ب٠عÙÙØ§Ù پاراÙ
تر Ø¯Ø±ÛØ§Ùت Ù
Û Ú©ÙØ¯
+ * اÛ٠تابع `Ø¯Ø±Ø®ÙØ§Ø³Øª` را ب٠*path operation* Ù
Ø±Ø¨ÙØ·Ù ارسا٠Ù
Û Ú©ÙØ¯.
+ * سپس `پاسخ` تÙÙÛØ¯ Ø´Ø¯Ù ØªÙØ³Ø· *path operation* Ù
Ø±Ø¨ÙØ·Ù را برÙ
ÛâÚ¯Ø±Ø¯Ø§ÙØ¯.
+* Ø´Ù
ا Ù
ÛâØªÙØ§ÙÛØ¯ سپس `پاسخ` را تغÛÛØ± داد٠٠پس از آ٠را برگرداÙÛØ¯.
+
+```Python hl_lines="8-9 11 14"
+{!../../../docs_src/middleware/tutorial001.py!}
+```
+
+!!! Ùکت٠ب٠خاطر Ø¯Ø§Ø´ØªÙ Ø¨Ø§Ø´ÛØ¯ Ú©Ù ÙØ¯Ø±ÙØ§Û Ø§Ø®ØªØµØ§ØµÛ Ø³ÙØ§Ø±Ø´Û را Ù
Û ØªÙØ§Ù با Ø§Ø³ØªÙØ§Ø¯Ù از Ù¾ÛØ´ÙÙØ¯ "X-" اضاÙ٠کرد.
+
+ اÙ
ا اگر ÙØ¯Ø±ÙØ§Û Ø³ÙØ§Ø±Ø´Û Ø¯Ø§Ø±ÛØ¯ Ú©Ù Ù
ÛâØ®ÙØ§ÙÛØ¯ Ù
Ø±ÙØ±Ú¯Ø± کاربر Ø¨ØªÙØ§Ùد Ø¢ÙÙØ§ را ببÛÙØ¯Ø Ø¨Ø§ÛØ¯ Ø¢ÙÙØ§ را با Ø§Ø³ØªÙØ§Ø¯Ù از پاراÙ
تر `expose_headers` ک٠در Ù
Ø³ØªÙØ¯Ø§Øª CORS از Starlette ØªÙØ¶ÛØ Ø¯Ø§Ø¯Ù Ø´Ø¯Ù Ø§Ø³ØªØ Ø¨Ù Ù¾ÛÚ©Ø±Ø¨ÙØ¯Û CORS Ø®ÙØ¯ اضاÙÙ Ú©ÙÛØ¯.
+
+!!! ØªÙØ¬Ù "Ø¬Ø²Ø¦ÛØ§Øª ÙÙÛ"
+ Ø´Ù
ا ÙÙ
ÚÙÛÙ Ù
ÛâØªÙØ§ÙÛØ¯ از `from starlette.requests import Request` Ø§Ø³ØªÙØ§Ø¯Ù Ú©ÙÛØ¯.
+
+ **FastAPI** اÛ٠را ب٠عÙÙØ§Ù ÛÚ© سÙÙÙØª Ø¨Ø±Ø§Û Ø´Ù
ا ب٠عÙÙØ§Ù Ø¨Ø±ÙØ§Ù
ÙâÙÙÛØ³ ÙØ±Ø§ÙÙ
Ù
ÛâÚ©ÙØ¯. اÙ
ا اÛÙ Ù
ستÙÛÙ
ا از Starlette ب٠دست Ù
ÛâØ¢ÛØ¯.
+
+### ÙØ¨Ù ٠بعد از `پاسخ`
+
+Ø´Ù
ا Ù
ÛâØªÙØ§ÙÛØ¯ Ú©Ø¯Û Ø±Ø§ Ø¨Ø±Ø§Û Ø§Ø¬Ø±Ø§ با `Ø¯Ø±Ø®ÙØ§Ø³Øª`Ø ÙØ¨Ù از اÛÙÚ©Ù ÙØ± *path operation* آ٠را Ø¯Ø±ÛØ§Ùت Ú©ÙØ¯Ø اضاÙÙ Ú©ÙÛØ¯.
+
+ÙÙ
ÚÙÛ٠پس از تÙÙÛØ¯ `پاسخ`Ø ÙØ¨Ù از بازگشت Ø¢ÙØ Ù
ÛâØªÙØ§ÙÛØ¯ Ú©Ø¯Û Ø±Ø§ اضاÙÙ Ú©ÙÛØ¯.
+
+ب٠عÙÙØ§Ù Ù
Ø«Ø§ÙØ Ù
ÛâØªÙØ§ÙÛØ¯ ÛÚ© ÙØ¯Ø± Ø³ÙØ§Ø±Ø´Û Ø¨Ù ÙØ§Ù
`X-Process-Time` ک٠شاÙ
٠زÙ
ا٠پردازش Ø¯Ø±Ø®ÙØ§Ø³Øª ٠تÙÙÛØ¯ پاسخ Ø¨Ù ØµÙØ±Øª ثاÙÛÙ Ø§Ø³ØªØ Ø§Ø¶Ø§ÙÙ Ú©ÙÛØ¯.
+
+```Python hl_lines="10 12-13"
+{!../../../docs_src/middleware/tutorial001.py!}
+```
+
+ ## Ø³Ø§ÛØ± Ù
ÛØ§Ù Ø§ÙØ²Ø§Ø±
+
+Ø´Ù
ا Ù
ÛâØªÙØ§ÙÛØ¯ بعدا٠در Ù
ÙØ±Ø¯ Ù
ÛØ§ÙâØ§ÙØ²Ø§Ø±ÙØ§Û Ø¯Ûگر در [راÙÙÙ
Ø§Û Ú©Ø§Ø±Ø¨Ø± Ù¾ÛØ´Ø±ÙتÙ: Ù
ÛØ§ÙâØ§ÙØ²Ø§Ø± Ù¾ÛØ´Ø±ÙتÙ](../advanced/middleware.md){.internal-link target=_blank} Ø¨ÛØ´ØªØ± Ø¨Ø®ÙØ§ÙÛØ¯.
+
+Ø´Ù
ا در بخش Ø¨Ø¹Ø¯Û Ø¯Ø± Ù
ÙØ±Ø¯ اÛÙ Ú©Ù ÚÚ¯ÙÙ٠با Ø§Ø³ØªÙØ§Ø¯Ù از ÛÚ© Ù
ÛØ§ÙâØ§ÙØ²Ø§Ø±Ø CORS را Ù
Ø¯ÛØ±Ûت Ú©ÙÛØ¯Ø Ø®ÙØ§ÙÛØ¯ Ø®ÙØ§Ùد.