Skip to content

Commit

Permalink
Update middleware.md
Browse files Browse the repository at this point in the history
There was a mistake in the translation, I fixed it and deleted the translation of the technical word "path operation".
  • Loading branch information
mojtabapaso committed Jun 23, 2023
1 parent 8279b30 commit 58b4f56
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions docs/fa/docs/tutorial/middleware.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,29 @@

شما میتوانید میان‌افزارها را در **FastAPI** اضافه کنید.

"میان‌افزار" یک تابع است که با هر درخواست(request) قبل از پردازش توسط هر عملیات مسیری خاص کار می‌کند. همچنین با هر پاسخ(response) قبل از بازگشت آن نیز کار می‌کند.
"میان‌افزار" یک تابع است که با هر درخواست(request) قبل از پردازش توسط هر path operation (عملیات مسیر) خاص کار می‌کند. همچنین با هر پاسخ(response) قبل از بازگشت آن نیز کار می‌کند.

* هر **درخواستی** که به برنامه شما می آید را می گیرد.
* هر **درخواستی (request)** که به برنامه شما می آید را می گیرد.
* سپس می تواند کاری برای آن **درخواست** انجام دهید یا هر کد مورد نیازتان را اجرا کنید.
* سپس **درخواست** را به بخش دیگری از برنامه (توسط یک عملیات مسیر مشخص) برای پردازش ارسال می کند.
* سپس **پاسخ** تولید شده توسط برنامه را (توسط یک عملیات مسیر مشخص) دریافت می‌کند.
* می تواند کاری برای آن **پاسخ** انجام دهد یا هر کد مورد نیازتان را اجرا کند.
* سپس **درخواست** را به بخش دیگری از برنامه (توسط یک path operation مشخص) برای پردازش ارسال می کند.
* سپس **پاسخ** تولید شده توسط برنامه را (توسط یک path operation مشخص) دریافت می‌کند.
* می تواند کاری با **پاسخ** انجام دهید یا هر کد مورد نیازتان را اجرا کند.
* سپس **پاسخ** را برمی گرداند.

!!! توجه "جزئیات فنی"
در صورت وجود وابستگی هایی با `yield`، کد خروجی **پس از** اجرای میان‌نرم‌افزار اجرا خواهد شد.
در صورت وجود وابستگی هایی با `yield`، کد خروجی **پس از** اجرای میان‌‌افزار اجرا خواهد شد.

در صورت وجود هر گونه وظایف پس زمینه (که در ادامه توضیح داده می‌شوند)، تمام میان‌افزارها *پس از آن* اجرا خواهند شد.

## ساخت یک میان نرم‌افزار
## ساخت یک میان افزار

برای ایجاد یک میان‌افزار، از دکوراتور `@app.middleware("http")` در بالای یک تابع استفاده می‌شود.
برای ایجاد یک میان‌افزار، از دکوریتور `@app.middleware("http")` در بالای یک تابع استفاده می‌شود.

تابع میان افزار دریافت می کند:
* `درخواست`
* تابع `call_next` که `درخواست` را به عنوان پارامتر دریافت می کند
* این تابع `درخواست` را به *عملیات مسیر* مربوطه ارسال می کند.
* سپس `پاسخ` تولید شده توسط *عملیات مسیر* مربوطه را برمی‌گرداند.
* این تابع `درخواست` را به *path operation* مربوطه ارسال می کند.
* سپس `پاسخ` تولید شده توسط *path operation* مربوطه را برمی‌گرداند.
* شما می‌توانید سپس `پاسخ` را تغییر داده و پس از آن را برگردانید.

```Python hl_lines="8-9 11 14"
Expand All @@ -42,7 +42,7 @@

### قبل و بعد از `پاسخ`

شما می‌توانید کدی را برای اجرا با `درخواست`، قبل از اینکه هر *عملیات مسیر* آن را دریافت کند، اضافه کنید.
شما می‌توانید کدی را برای اجرا با `درخواست`، قبل از اینکه هر *path operation* آن را دریافت کند، اضافه کنید.

همچنین پس از تولید `پاسخ`، قبل از بازگشت آن، می‌توانید کدی را اضافه کنید.

Expand All @@ -54,6 +54,6 @@

## سایر میان افزار

شما می‌توانید بعداً در مورد میان‌نرم‌افزارهای دیگر در [راهنمای کاربر پیشرفته: میان‌نرم‌افزار پیشرفته](../advanced/middleware.md){.internal-link target=_blank} بیشتر بخوانید.
شما می‌توانید بعداً در مورد میان‌افزارهای دیگر در [راهنمای کاربر پیشرفته: میان‌افزار پیشرفته](../advanced/middleware.md){.internal-link target=_blank} بیشتر بخوانید.

شما در بخش بعدی در مورد این که چگونه با استفاده از یک میان‌نرم‌افزار، <abbr title="Cross-Origin Resource Sharing">CORS</abbr> را مدیریت کنید، خواهید خواند.
شما در بخش بعدی در مورد این که چگونه با استفاده از یک میان‌افزار، <abbr title="Cross-Origin Resource Sharing">CORS</abbr> را مدیریت کنید، خواهید خواند.

0 comments on commit 58b4f56

Please sign in to comment.