github.com/boomhut/fiber/v2@v2.0.0-20230603160335-b65c856e57d3/.github/README_fa.md (about) 1 <p align="center"> 2 <a href="https://gofiber.io"> 3 4 <picture> 5 <source height="125" media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/gofiber/docs/master/static/img/logo-dark.svg"> 6 <img height="125" alt="Fiber" src="https://raw.githubusercontent.com/gofiber/docs/master/static/img/logo.svg"> 7 </picture> 8 9 </a> 10 <br> 11 <!-- base64 flags are available at https://www.phoca.cz/cssflags/ --> 12 <!--<a href="https://github.com/gofiber/fiber/blob/master/.github/README.md"> 13 <img height="20px" src="https://img.shields.io/badge/EN-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNjAgMzAiIGhlaWdodD0iNjAwIj4NCjxkZWZzPg0KPGNsaXBQYXRoIGlkPSJ0Ij4NCjxwYXRoIGQ9Im0zMCwxNWgzMHYxNXp2MTVoLTMwemgtMzB2LTE1enYtMTVoMzB6Ii8+DQo8L2NsaXBQYXRoPg0KPC9kZWZzPg0KPHBhdGggZmlsbD0iIzAwMjQ3ZCIgZD0ibTAsMHYzMGg2MHYtMzB6Ii8+DQo8cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS13aWR0aD0iNiIgZD0ibTAsMGw2MCwzMG0wLTMwbC02MCwzMCIvPg0KPHBhdGggc3Ryb2tlPSIjY2YxNDJiIiBzdHJva2Utd2lkdGg9IjQiIGQ9Im0wLDBsNjAsMzBtMC0zMGwtNjAsMzAiIGNsaXAtcGF0aD0idXJsKCN0KSIvPg0KPHBhdGggc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjEwIiBkPSJtMzAsMHYzMG0tMzAtMTVoNjAiLz4NCjxwYXRoIHN0cm9rZT0iI2NmMTQyYiIgc3Ryb2tlLXdpZHRoPSI2IiBkPSJtMzAsMHYzMG0tMzAtMTVoNjAiLz4NCjwvc3ZnPg0K"> 14 </a>--> 15 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_ru.md"> 16 <img height="20px" src="https://img.shields.io/badge/RU-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NTAgMzAwIj4NCjxwYXRoIGZpbGw9IiNmZmYiIGQ9Im0wLDBoNDUwdjEwMGgtNDUweiIvPg0KPHBhdGggZmlsbD0iIzAwZiIgZD0ibTAsMTAwaDQ1MHYxMDBoLTQ1MHoiLz4NCjxwYXRoIGZpbGw9IiNmMDAiIGQ9Im0wLDIwMGg0NTB2MTAwaC00NTB6Ii8+DQo8L3N2Zz4NCg=="> 17 </a> 18 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_es.md"> 19 <img height="20px" src="https://img.shields.io/badge/ES-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3NTAgNTAwIj4NCjxwYXRoIGZpbGw9IiNjNjBiMWUiIGQ9Im0wLDBoNzUwdjUwMGgtNzUweiIvPg0KPHBhdGggZmlsbD0iI2ZmYzQwMCIgZD0ibTAsMTI1aDc1MHYyNTBoLTc1MHoiLz4NCjwvc3ZnPg0K"> 20 </a> 21 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_ja.md"> 22 <img height="20px" src="https://img.shields.io/badge/JA-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5MDAgNjAwIj4NCjxwYXRoIGZpbGw9IiNmZmYiIGQ9Im0wLDBoOTAwdjYwMGgtOTAweiIvPg0KPGNpcmNsZSBmaWxsPSIjYmUwMDI2IiBjeD0iNDUwIiBjeT0iMzAwIiByPSIxODAiLz4NCjwvc3ZnPg0K"> 23 </a> 24 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_pt.md"> 25 <img height="20px" src="https://img.shields.io/badge/PT-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHJlY3QgeT0iODUuMzM3IiBzdHlsZT0iZmlsbDojRDgwMDI3OyIgd2lkdGg9IjUxMiIgaGVpZ2h0PSIzNDEuMzI2Ii8+Cjxwb2x5Z29uIHN0eWxlPSJmaWxsOiM2REE1NDQ7IiBwb2ludHM9IjE5Ni42NDEsODUuMzM3IDE5Ni42NDEsMjYxLjU2NSAxOTYuNjQxLDQyNi42NjMgMCw0MjYuNjYzIDAsODUuMzM3ICIvPgo8Y2lyY2xlIHN0eWxlPSJmaWxsOiNGRkRBNDQ7IiBjeD0iMTk2LjY0MSIgY3k9IjI1NiIgcj0iNjQiLz4KPHBhdGggc3R5bGU9ImZpbGw6I0Q4MDAyNzsiIGQ9Ik0xNjAuNjM4LDIyNHY0MC4wMDFjMCwxOS44ODIsMTYuMTE4LDM2LDM2LDM2czM2LTE2LjExOCwzNi0zNlYyMjRIMTYwLjYzOHoiLz4KPHBhdGggc3R5bGU9ImZpbGw6I0YwRjBGMDsiIGQ9Ik0xOTYuNjM4LDI3NmMtNi42MTcsMC0xMi01LjM4My0xMi0xMnYtMTZoMjQuMDAxdjE2QzIwOC42MzgsMjcwLjYxNiwyMDMuMjU0LDI3NiwxOTYuNjM4LDI3NnoiLz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg=="> 26 </a> 27 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-CN.md"> 28 <img height="20px" src="https://img.shields.io/badge/CN-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjAwIDgwMCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KPHBhdGggZmlsbD0iI2RlMjkxMCIgZD0ibTAsMGgxMjAwdjgwMGgtMTIwMHoiLz4NCjxwYXRoIGZpbGw9IiNmZmRlMDAiIGQ9Im0tMTYuNTc5Niw5OS42MDA3bDIuMzY4Ni04LjEwMzItNi45NTMtNC43ODgzIDguNDM4Ni0uMjUxNCAyLjQwNTMtOC4wOTI0IDIuODQ2Nyw3Ljk0NzkgOC40Mzk2LS4yMTMxLTYuNjc5Miw1LjE2MzQgMi44MTA2LDcuOTYwNy02Ljk3NDctNC43NTY3LTYuNzAyNSw1LjEzMzF6IiB0cmFuc2Zvcm09Im1hdHJpeCg5LjkzMzUyIC4yNzc0NyAtLjI3NzQ3IDkuOTMzNTIgMzI0LjI5MjUgLTY5NS4yNDE1KSIvPg0KPHBhdGggZmlsbD0iI2ZmZGUwMCIgaWQ9InN0YXIiIGQ9Im0zNjUuODU1MiwzMzIuNjg5NWwyOC4zMDY4LDExLjM3NTcgMTkuNjcyMi0yMy4zMTcxLTIuMDcxNiwzMC40MzY3IDI4LjI1NDksMTEuNTA0LTI5LjU4NzIsNy40MzUyLTIuMjA5NywzMC40MjY5LTE2LjIxNDItMjUuODQxNS0yOS42MjA2LDcuMzAwOSAxOS41NjYyLTIzLjQwNjEtMTYuMDk2OC0yNS45MTQ4eiIvPg0KPGcgZmlsbD0iI2ZmZGUwMCI+DQo8cGF0aCBkPSJtNTE5LjA3NzksMTc5LjMxMjlsLTMwLjA1MzQtNS4yNDE4LTE0LjM5NDUsMjYuODk3Ni00LjMwMTctMzAuMjAyMy0zMC4wMjkzLTUuMzc4MSAyNy4zOTQ4LTEzLjQyNDItNC4xNjQ3LTMwLjIyMTUgMjEuMjMyNiwyMS45MDU3IDI3LjQ1NTQtMTMuMjk5OC0xNC4yNzIzLDI2Ljk2MjcgMjEuMTMzMSwyMi4wMDE3eiIvPg0KPHBhdGggZD0ibTQ1NS4yNTkyLDMxNS45Nzk1bDkuMzczNC0yOS4wMzE0LTI0LjYzMjUtMTcuOTk3OCAzMC41MDctLjA1NjYgOS41MDUtMjguOTg4NiA5LjQ4MSwyOC45OTY0IDMwLjUwNywuMDgxOC0yNC42NDc0LDE3Ljk3NzQgOS4zNDkzLDI5LjAzOTItMjQuNzE0LTE3Ljg4NTgtMjQuNzI4OCwxNy44NjUzeiIvPg0KPC9nPg0KPHVzZSB4bGluazpocmVmPSIjc3RhciIgdHJhbnNmb3JtPSJtYXRyaXgoLjk5ODYzIC4wNTIzNCAtLjA1MjM0IC45OTg2MyAxOS40MDAwNSAtMzAwLjUzNjgxKSIvPg0KPC9zdmc+DQo="> 29 </a> 30 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_zh-TW.md"> 31 <img height="20px" src="https://img.shields.io/badge/TW-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjwhRE9DVFlQRSBzdmc+DQo8c3ZnIHdpZHRoPSI5MDAiIGhlaWdodD0iNjAwIiB2aWV3Qm94PSItNjAgLTQwIDI0MCAxNjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgPHJlY3QgeD0iLTYwIiB5PSItNDAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9IiNmZTAwMDAiLz4NCiAgIDxyZWN0IHg9Ii02MCIgeT0iLTQwIiB3aWR0aD0iNTAlIiBoZWlnaHQ9IjUwJSIgZmlsbD0iIzAwMDA5NSIvPg0KICAgPHBhdGggaWQ9ImZvdXJfcmF5cyIgZD0iTSA4LDAgTCAwLDMwIEwgLTgsMCBMIDAsLTMwIE0gMCw4IEwgMzAsMCBMIDAsLTggTCAtMzAsMCIgZmlsbD0iI2ZmZiIvPg0KICAgPHVzZSB4bGluazpocmVmPSIjZm91cl9yYXlzIiB0cmFuc2Zvcm09InJvdGF0ZSgzMCkiLz4NCiAgIDx1c2UgeGxpbms6aHJlZj0iI2ZvdXJfcmF5cyIgdHJhbnNmb3JtPSJyb3RhdGUoNjApIi8+DQogICA8Y2lyY2xlIHI9IjE3IiBmaWxsPSIjMDAwMDk1Ii8+DQogICA8Y2lyY2xlIHI9IjE1IiBmaWxsPSIjZmZmIi8+DQo8L3N2Zz4="> 32 </a> 33 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_de.md"> 34 <img height="20px" src="https://img.shields.io/badge/DE-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjYwMCIgdmlld0JveD0iMCAwIDUgMyI+DQo8cGF0aCBkPSJtMCwwaDV2M2gtNXoiLz4NCjxwYXRoIGZpbGw9IiNkMDAiIGQ9Im0wLDFoNXYyaC01eiIvPg0KPHBhdGggZmlsbD0iI2ZmY2UwMCIgZD0ibTAsMmg1djFoLTV6Ii8+DQo8L3N2Zz4NCg=="> 35 </a> 36 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_nl.md"> 37 <img height="20px" src="https://img.shields.io/badge/NL-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNjAwIiB2aWV3Qm94PSIwIDAgOSA2Ij4NCjxwYXRoIGZpbGw9IiMyMTQ2OGIiIGQ9Im0wLDBoOXY2aC05eiIvPg0KPHBhdGggZmlsbD0iI2ZmZiIgZD0ibTAsMGg5djRoLTl6Ii8+DQo8cGF0aCBmaWxsPSIjYWUxYzI4IiBkPSJtMCwwaDl2MmgtOXoiLz4NCjwvc3ZnPg0K"> 38 </a> 39 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_ko.md"> 40 <img height="20px" src="https://img.shields.io/badge/KO-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNjAwIiB2aWV3Qm94PSItMzYgLTI0IDcyIDQ4IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQo8cGF0aCBmaWxsPSIjZmZmIiBkPSJtLTM2LTI0aDcydjQ4aC03MnoiLz4NCjxnIHRyYW5zZm9ybT0ibWF0cml4KC41NTQ3IC0uODMyMDUgLjgzMjA1IC41NTQ3IDAgMCkiPg0KPGcgaWQ9ImIyIj4NCjxwYXRoIHN0cm9rZT0iIzAwMCIgaWQ9ImIiIHN0cm9rZS13aWR0aD0iMiIgZD0iTS02LTI1SDZNLTYtMjJINk0tNi0xOUg2Ii8+DQo8dXNlIHk9IjQ0IiB4bGluazpocmVmPSIjYiIvPg0KPC9nPg0KPHBhdGggc3Ryb2tlPSIjZmZmIiBkPSJtMCwxN3YxMCIvPg0KPGNpcmNsZSBmaWxsPSIjYzYwYzMwIiByPSIxMiIvPg0KPHBhdGggZmlsbD0iIzAwMzQ3OCIgZD0iTTAtMTJBNiw2IDAgMCAwIDAsMEE2LDYgMCAwIDEgMCwxMkExMiwxMiAwIDAsMSAwLTEyWiIvPg0KPC9nPg0KPGcgdHJhbnNmb3JtPSJtYXRyaXgoLS41NTQ3IC0uODMyMDUgLjgzMjA1IC0uNTU0NyAwIDApIj4NCjx1c2UgeGxpbms6aHJlZj0iI2IyIi8+DQo8cGF0aCBzdHJva2U9IiNmZmYiIGQ9Im0wLTIzLjV2M20wLDM3LjV2My41bTAsM3YzIi8+DQo8L2c+DQo8L3N2Zz4NCg=="> 41 </a> 42 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_fr.md"> 43 <img height="20px" src="https://img.shields.io/badge/FR-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5MDAgNjAwIj4NCjxwYXRoIGZpbGw9IiNlZDI5MzkiIGQ9Im0wLDBoOTAwdjYwMGgtOTAweiIvPg0KPHBhdGggZmlsbD0iI2ZmZiIgZD0ibTAsMGg2MDB2NjAwaC02MDB6Ii8+DQo8cGF0aCBmaWxsPSIjMDAyMzk1IiBkPSJtMCwwaDMwMHY2MDBoLTMwMHoiLz4NCjwvc3ZnPg0K"> 44 </a> 45 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_tr.md"> 46 <img height="20px" src="https://img.shields.io/badge/TR-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjgwMCIgdmlld0JveD0iMCAwIDM2MCAyNDAiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCjxwYXRoIGZpbGw9IiNlMzBhMTciIGQ9Im0wLDBoMzYwdjI0MGgtMzYweiIvPg0KPGNpcmNsZSBmaWxsPSIjZmZmIiBjeD0iMTIwIiBjeT0iMTIwIiByPSI2MCIvPg0KPGNpcmNsZSBmaWxsPSIjZTMwYTE3IiBjeD0iMTM1IiBjeT0iMTIwIiByPSI0OCIvPg0KPGcgZmlsbD0iI2ZmZiIgdHJhbnNmb3JtPSJtYXRyaXgoMCAtMzAgMzAgMCAyMDAuNyAxMjApIj4NCjxnIGlkPSJnMiI+DQo8cGF0aCBpZD0iZzEiIGQ9Im0wLDAgMCwxIC41LDB6IiB0cmFuc2Zvcm09Im1hdHJpeCguOTUxMDYgLjMwOTAyIC0uMzA5MDIgLjk1MTA2IDAgLTEpIi8+DQo8dXNlIHhsaW5rOmhyZWY9IiNnMSIgdHJhbnNmb3JtPSJzY2FsZSgtMSAxKSIvPg0KPC9nPg0KPHVzZSB4bGluazpocmVmPSIjZzIiIHRyYW5zZm9ybT0icm90YXRlKDcyKSIvPg0KPHVzZSB4bGluazpocmVmPSIjZzIiIHRyYW5zZm9ybT0ibWF0cml4KC4zMDkwMiAtLjk1MTA2IC45NTEwNiAuMzA5MDIgMCAwKSIvPg0KPHVzZSB4bGluazpocmVmPSIjZzIiIHRyYW5zZm9ybT0icm90YXRlKDE0NCkiLz4NCjx1c2UgeGxpbms6aHJlZj0iI2cyIiB0cmFuc2Zvcm09Im1hdHJpeCgtLjgwOTAyIC0uNTg3NzkgLjU4Nzc5IC0uODA5MDIgMCAwKSIvPg0KPC9nPg0KPC9zdmc+DQo="> 47 </a> 48 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_id.md"> 49 <img height="20px" src="https://img.shields.io/badge/ID-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MDAgNDAwIj4NCjxwYXRoIGZpbGw9IiNjZTExMjYiIGQ9Im0wLDBoNjAwdjIwMGgtNjAweiIvPg0KPHBhdGggZmlsbD0iI2ZmZiIgZD0ibTAsMjAwaDYwMHYyMDBoLTYwMHoiLz4NCjwvc3ZnPg0K"> 50 </a> 51 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_he.md"> 52 <img height="20px" src="https://img.shields.io/badge/HE-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjYwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNDgwIiB2aWV3Qm94PSIwIDAgMjIwIDE2MCIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KPGRlZnM+DQo8cGF0aCBzdHJva2U9IiMwMDM4YjgiIGZpbGwtb3BhY2l0eT0iMCIgaWQ9InRyaWFuZ2xlIiBzdHJva2Utd2lkdGg9IjUuNSIgZD0ibTAtMjkuMTQxLTI1LjIzNjksNDMuNzExNSA1MC40NzM4LTB6Ii8+DQo8L2RlZnM+DQo8cGF0aCBmaWxsPSIjZmZmIiBkPSJtMCwwaDIyMHYxNjBoLTIyMHoiLz4NCjxnIGZpbGw9IiMwMDM4YjgiPg0KPHBhdGggZD0ibTAsMTVoMjIwdjI1aC0yMjB6Ii8+DQo8cGF0aCBkPSJtMCwxMjBoMjIwdjI1aC0yMjB6Ii8+DQo8L2c+DQo8dXNlIHhsaW5rOmhyZWY9IiN0cmlhbmdsZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTEwIDgwKSIvPg0KPHVzZSB4bGluazpocmVmPSIjdHJpYW5nbGUiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgLTAgLTEgMTEwIDgwKSIvPg0KPC9zdmc+DQo="> 53 </a> 54 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_sa.md"> 55 <img height="20px" src="https://img.shields.io/badge/SA-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjYwMCIgdmlld0JveD0iMCAwIDEyIDYiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCjxwYXRoIGZpbGw9IiNjZTExMjYiIGQ9Im0wLDBoM3Y2aC0zeiIvPg0KPHBhdGggZmlsbD0iIzAwOWEwMCIgZD0ibTMsMGg5djJoLTl6Ii8+DQo8cGF0aCBmaWxsPSIjZmZmIiBkPSJtMywyaDl2MmgtOXoiLz4NCjxwYXRoIGQ9Im0zLDRoOXYyaC05eiIvPg0KPC9zdmc+DQo="> 56 </a> 57 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_fa.md"> 58 <img height="20px" src="https://img.shields.io/badge/IR-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTAwMCIgaGVpZ2h0PSI1NzIuMiIgdmlld0JveD0iLTcuMjE3IC00LjEyOSAxMDAwIDU3Mi4yIj48cGF0aCBkPSJNLTcuMjE3LTQuMTI5aDEwMDB2NTcyLjJoLTEwMDB6IiBmaWxsPSIjMjM5ZjQwIi8+PHBhdGggZD0iTS03LjIxNyAyODEuOTcxaDEwMDB2Mjg2LjFoLTEwMDB6IiBmaWxsPSIjZGEwMDAwIi8+PHBhdGggZD0iTS03LjIxNyAxODYuNTcxaDEwMDB2MTkwLjc1aC0xMDAweiIgZmlsbD0iI2ZmZiIvPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03LjIxNyAxNTUuNDcxKSBzY2FsZSg0LjQ0NDUpIj48ZyBpZD0iZSI+PGcgaWQ9ImMiIGZpbGw9Im5vbmUiIHN0cm9rZT0iI2ZmZiI+PHBhdGggaWQ9ImIiIGQ9Ik0zIC41aDEzTTMuNSA1VjIuNWg0djJoNHYtMkg5bS00IDJoMW0xMCAwaC0yLjV2LTJoNG0wLTIuNXY0LjVoNFYwbS0yIDB2NC41Ii8+PHBhdGggaWQ9ImEiIGQ9Ik0zIDdoOW0xIDBoOSIgc3Ryb2tlLXdpZHRoPSIyIi8+PHVzZSB4bGluazpocmVmPSIjYSIgeT0iNDIuOTEzIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIi8+PHVzZSB4bGluazpocmVmPSIjYiIgeT0iNTEuOTEzIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIi8+PC9nPjxnIGlkPSJkIj48dXNlIHhsaW5rOmhyZWY9IiNjIiB4PSIyMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIvPjx1c2UgeGxpbms6aHJlZj0iI2MiIHg9IjQwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIi8+PHVzZSB4bGluazpocmVmPSIjYyIgeD0iNjAiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiLz48L2c+PC9nPjx1c2UgeGxpbms6aHJlZj0iI2QiIHg9IjYwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIi8+PHVzZSB4bGluazpocmVmPSIjZSIgeD0iMTQwIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIi8+PC9nPjxnIHRyYW5zZm9ybT0ibWF0cml4KDY5LjI4NSAwIDAgNjkuMjg1IDQ5Mi43ODMgMjgxLjk3MSkiIGZpbGw9IiNkYTAwMDAiPjxnIGlkPSJmIj48cGF0aCBkPSJNLS41NDguODM2QS45MTIuOTEyIDAgMCAwIC4zMjktLjcyMiAxIDEgMCAwIDEtLjU0OC44MzYiLz48cGF0aCBkPSJNLjYxOC42NjFBLjc2NC43NjQgMCAwIDAgLjQyMi0uNzQgMSAxIDAgMCAxIC42MTguNjYxTTAgMWwtLjA1LTFMMC0uNzg3YS4zMS4zMSAwIDAgMCAuMTE4LjA5OVYtLjFsLS4wNC45OTN6TS0uMDItLjg1TDAtLjgzMWEuMTQ0LjE0NCAwIDAgMCAuMjUyLS4xMzdBLjEzNi4xMzYgMCAwIDEgMC0uOTI1Ii8+PC9nPjx1c2UgeGxpbms6aHJlZj0iI2YiIHRyYW5zZm9ybT0ic2NhbGUoLTEgMSkiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiLz48L2c+PC9zdmc+"> 59 </a> 60 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_it.md"> 61 <img height="20px" src="https://img.shields.io/badge/IT-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjEwMDAiIHZpZXdCb3g9IjAgMCAzIDIiPg0KPHBhdGggZmlsbD0iIzAwOTI0NiIgZD0ibTAsMGgxdjJoLTF6Ii8+DQo8cGF0aCBmaWxsPSIjZmZmIiBkPSJtMSwwaDF2MmgtMXoiLz4NCjxwYXRoIGZpbGw9IiNjZTJiMzciIGQ9Im0yLDBoMXYyaC0xeiIvPg0KPC9zdmc+DQo="> 62 </a> 63 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_uk.md"> 64 <img height="20px" src="https://img.shields.io/badge/UK-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDU1LjIgMzguNCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTUuMiAzOC40IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwhW0NEQVRBWwoJLnN0MHtmaWxsOiNGRkQ1MDA7fQoJLnN0MXtmaWxsOiMwMDVCQkI7fQpdXT48L3N0eWxlPjxnPjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0zLjAzLDBoNDkuMTNjMS42NywwLDMuMDMsMS4zNiwzLjAzLDMuMDN2MzIuMzNjMCwxLjY3LTEuMzcsMy4wMy0zLjAzLDMuMDNIMy4wM0MxLjM3LDM4LjQsMCwzNy4wNCwwLDM1LjM3IFYzLjAzQzAsMS4zNiwxLjM3LDAsMy4wMywwTDMuMDMsMHoiLz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMCwxOS4yaDU1LjJ2MTYuMTdjMCwxLjY3LTEuMzcsMy4wMy0zLjAzLDMuMDNIMy4wM0MxLjM3LDM4LjQsMCwzNy4wNCwwLDM1LjM3VjE5LjJMMCwxOS4yeiIvPjwvZz48L3N2Zz4="> 65 </a> 66 <a href="https://github.com/gofiber/fiber/blob/master/.github/README_az.md"> 67 <img height="20px" src="https://img.shields.io/badge/AZ-flag.svg?color=555555&style=flat-square&logo=data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMTIwMCIgaGVpZ2h0PSI2MDAiPg0KPHJlY3Qgd2lkdGg9IjEyMDAiIGhlaWdodD0iNjAwIiBmaWxsPSIjNTA5ZTJmIi8+DQo8cmVjdCB3aWR0aD0iMTIwMCIgaGVpZ2h0PSI0MDAiIGZpbGw9IiNlZjMzNDAiLz4NCjxyZWN0IHdpZHRoPSIxMjAwIiBoZWlnaHQ9IjIwMCIgZmlsbD0iIzAwYjVlMiIvPg0KPGNpcmNsZSBjeD0iNTcwIiBjeT0iMzAwIiByPSI5MCIgZmlsbD0iI2ZmZiIvPg0KPGNpcmNsZSBjeD0iNTkwIiBjeT0iMzAwIiByPSI3NSIgZmlsbD0iI2VmMzM0MCIvPg0KPHBhdGggZD0iTTY3MCAyNTBsOS41NjcgMjYuOTAzIDI1Ljc4OC0xMi4yNTgtMTIuMjU4IDI1Ljc4OEw3MjAgMzAwbC0yNi45MDMgOS41NjcgMTIuMjU4IDI1Ljc4OC0yNS43ODgtMTIuMjU4TDY3MCAzNTBsLTkuNTY3LTI2LjkwMy0yNS43ODggMTIuMjU4IDEyLjI1OC0yNS43ODhMNjIwIDMwMGwyNi45MDMtOS41NjctMTIuMjU4LTI1Ljc4OCAyNS43ODggMTIuMjU4eiIgZmlsbD0iI2ZmZiIvPg0KPC9zdmc+"> 68 </a> 69 <br> 70 <a href="https://pkg.go.dev/github.com/gofiber/fiber/v2#pkg-overview"> 71 <img src="https://img.shields.io/badge/%F0%9F%93%9A%20godoc-pkg-00ACD7.svg?color=00ACD7&style=flat-square"> 72 </a> 73 <a href="https://goreportcard.com/report/github.com/gofiber/fiber/v2"> 74 <img src="https://img.shields.io/badge/%F0%9F%93%9D%20goreport-A%2B-75C46B?style=flat-square"> 75 </a> 76 <a href="https://gocover.io/github.com/gofiber/fiber"> 77 <img src="https://img.shields.io/badge/%F0%9F%94%8E%20gocover-97.8%25-75C46B.svg?style=flat-square"> 78 </a> 79 <a href="https://github.com/gofiber/fiber/actions?query=workflow%3ASecurity"> 80 <img src="https://img.shields.io/github/actions/workflow/status/gofiber/fiber/security.yml?branch=master&label=%F0%9F%94%91%20gosec&style=flat-square&color=75C46B"> 81 </a> 82 <a href="https://github.com/gofiber/fiber/actions?query=workflow%3ATest"> 83 <img src="https://img.shields.io/github/actions/workflow/status/gofiber/fiber/test.yml?branch=master&label=%F0%9F%A7%AA%20tests&style=flat-square&color=75C46B"> 84 </a> 85 <a href="https://docs.gofiber.io"> 86 <img src="https://img.shields.io/badge/%F0%9F%92%A1%20fiber-docs-00ACD7.svg?style=flat-square"> 87 </a> 88 <a href="https://gofiber.io/discord"> 89 <img src="https://img.shields.io/discord/704680098577514527?style=flat-square&label=%F0%9F%92%AC%20discord&color=00ACD7"> 90 </a> 91 </p> 92 <br> 93 <p align="center"> 94 <div dir="rtl"> 95 <b>Fiber</b> الهام گرفته از <b>فریمورک وب</b> <a href="https://github.com/expressjs/express">Express</a> است که برپایه <a href="https://github.com/valyala/fasthttp">Fasthttp</a> ساخته شده است, که سریعترین موتور HTTP برای زبان <a href="https://go.dev/doc/">Go</a> است. طراحی شده است تا با تخصیص حافظه و عملکرد صفر ، کارها را برای توسعه سریع آسان کند. 96 <div dir="rtl"><br> 97 </p> 98 99 ## ⚡️ شروع سریع 100 101 <div dir="ltr"> 102 <br> 103 104 ```go 105 package main 106 107 import "github.com/boomhut/fiber/v2" 108 109 func main() { 110 app := fiber.New() 111 112 app.Get("/", func(c *fiber.Ctx) error { 113 return c.SendString("Hello, World 👋!") 114 }) 115 116 app.Listen(":3000") 117 } 118 ``` 119 120 </div> 121 </br> 122 123 ## 🤖 بنچمارک 124 125 <br> 126 <p align="center"> 127 <div dir="rtl"> 128 این تست ها توسط <a href="https://www.techempower.com/benchmarks/#section=data-r19&hw=ph&test=plaintext">TechEmpower</a> و <a href="https://github.com/smallnest/go-web-framework-benchmark">Go Web</a> انجام شده است. اگر شما تمامی نتایج را می خواهید ببینید, لطفا صفحه <a href="https://docs.gofiber.io/extra/benchmarks">ویکی</a> ما را بازدید کنید. 129 <div dir="rtl"> 130 <br> 131 </p> 132 133 <p float="left" align="middle"> 134 <img src="https://raw.githubusercontent.com/gofiber/docs/master/static/img/benchmark-pipeline.png" width="49%"> 135 <img src="https://raw.githubusercontent.com/gofiber/docs/master/static/img/benchmark_alloc.png" width="49%"> 136 </p> 137 </br> 138 139 ## ⚙️ نصب و راه اندازی 140 141 <br> 142 <p align="center"> 143 <div dir="rtl"> 144 مطمئن شوید Go را نصب (<a href="https://go.dev/dl/">دانلود</a>) کرده اید. نسخه 1.17 یا بیشتر مورد نیاز است.<br> 145 پروژه خود را با ساختن یک پوشه و سپس اجرای <code>go mod init github.com/your/repo</code> داخل پوشه (<a href="https://go.dev/blog/using-go-modules">یادگیری بیشتر</a>) راه اندازی کنید. سپس Fiber را با دستور <code><a href="https://pkg.go.dev/cmd/go/#hdr-Add_dependencies_to_current_module_and_install_them">go get</a></code> نصب کنید : 146 <div dir="rtl"> 147 <br> 148 </p> 149 150 <div dir="ltr"> 151 152 ```bash 153 go get -u github.com/gofiber/fiber/v2 154 ``` 155 156 </div> 157 158 </br> 159 160 ## 🎯 ویژگی ها 161 162 </br> 163 164 - [مسیریابی](https://docs.gofiber.io/guide/routing) قدرتمند 165 - Serve [پرونده های ثابت](https://docs.gofiber.io/api/app#static) 166 - حداکثر [عملکرد](https://docs.gofiber.io/extra/benchmarks) 167 - مصرف [حافظه کم](https://docs.gofiber.io/extra/benchmarks) 168 - قابلیت [API endpoints](https://docs.gofiber.io/api/ctx) 169 - پشتیبانی از [Middleware](https://docs.gofiber.io/category/-middleware) & [Next](https://docs.gofiber.io/api/ctx#next) 170 - برنامه نویسی سمت سرور [سریع](https://dev.to/koddr/welcome-to-fiber-an-express-js-styled-fastest-web-framework-written-with-on-golang-497) 171 - دارای [Template engines](https://github.com/gofiber/template) اختصاصی 172 - [پشتیبانی از وب سوکت](https://github.com/gofiber/websocket) 173 - [Server-Sent events](https://github.com/gofiber/recipes/tree/master/sse) 174 - قابلیت [Rate Limiter](https://docs.gofiber.io/api/middleware/limiter) 175 - ترجمه در [18 زبان](https://docs.gofiber.io/) 176 - و امکانات بیشتر, [دیدن در داکیومنت](https://docs.gofiber.io/) 177 178 </br> 179 180 ## 💡 فلسفه 181 182 <br> 183 <p align="center"> 184 <div dir="rtl"> 185 گوفر های جدیدی که از <a href="https://nodejs.org/en/about/">Node.js</a> به <a href="https://go.dev/doc/">Go</a> تغییر می دهند قبل از شروع ساخت برنامه های وب یا میکروسرویس ها با یک منحنی یادگیری رو به رو هستند. Fiber, یک <b>فریمورک وب</b> است و با ایده <b>مینیمالیسم</b> ایجاد شده است و <b>روش های unix</b> را دنبال می کند, بنابرین با استقبال گرم و اعتماد کامل وارد دنیای Go شده است.<br> 186 187 Fiber از Express <b>الهام گرفته</b>, که محبوب ترین فریمورک وب روی اینترنت است. ما <b>سادگی</b> Express را با <b>عملکرد بالا</b> زبان Go ترکیب کردیم. اگر شما قبلا یک برنامه وب را در Node.js (با استفاده از Express یا موارد مشابه) پیاده سازی کرده اید. بسیاری از روش ها و اصول ها برای شما ساده به نظر خواهد رسید.<br> 188 189 ما در مورد <a href="https://github.com/gofiber/fiber/issues">مشکلات</a> کاربران, <a href="https://gofiber.io/discord">کانال</a> Discord سراسر دنیا گوش می دهیم و تا بتوانیم یک وب فریم ورک <b>سریع, مطمئن, ساده</b> ایجاد کنیم. درست مثل Express برای برنامه نویس های جاوا اسکریپت. 190 191 <div dir="rtl"> 192 <br> 193 </p> 194 195 ## ⚠️ محدودیت ها 196 * به دلیل استفاده ناامن از Fiber, ممکن است کتابخانه همیشه با آخرین نسخه Go سازگار نباشد. Fiber 2.40.0 با زبان گو نسخه 1.17 تا 1.20 تست شده است. 197 * فریمورک Fiber با پکیج net/http سازگار نیست. این بدان معناست شما نمی توانید از پکیج های مانند go-swagger, gqlgen یا سایر پروژه هایی که بخشی از اکوسیستم net/http هستند استفاده کنید. 198 199 <br> 200 201 ## 👀 مثال ها 202 203 <p align="center"> 204 <div dir="rtl"> 205 در پایین تعدادی نمونه مثال هستش. اگر شما مثال های بیشتر می خواهید ببینید, لطفا <a href="https://github.com/gofiber/recipes">مخزن کد</a> و <a href="https://docs.gofiber.io/">داکیومنت های</a> ما را بازدید کنید. 206 <div dir="rtl"> 207 <br> 208 </p> 209 210 #### 📖 [**Basic Routing**](https://docs.gofiber.io/#basic-routing) 211 212 <div dir="ltr"> 213 214 ```go 215 func main() { 216 app := fiber.New() 217 218 // GET /api/register 219 app.Get("/api/*", func(c *fiber.Ctx) error { 220 msg := fmt.Sprintf("✋ %s", c.Params("*")) 221 return c.SendString(msg) // => ✋ register 222 }) 223 224 // GET /flights/LAX-SFO 225 app.Get("/flights/:from-:to", func(c *fiber.Ctx) error { 226 msg := fmt.Sprintf("💸 From: %s, To: %s", c.Params("from"), c.Params("to")) 227 return c.SendString(msg) // => 💸 From: LAX, To: SFO 228 }) 229 230 // GET /dictionary.txt 231 app.Get("/:file.:ext", func(c *fiber.Ctx) error { 232 msg := fmt.Sprintf("📃 %s.%s", c.Params("file"), c.Params("ext")) 233 return c.SendString(msg) // => 📃 dictionary.txt 234 }) 235 236 // GET /john/75 237 app.Get("/:name/:age/:gender?", func(c *fiber.Ctx) error { 238 msg := fmt.Sprintf("👴 %s is %s years old", c.Params("name"), c.Params("age")) 239 return c.SendString(msg) // => 👴 john is 75 years old 240 }) 241 242 // GET /john 243 app.Get("/:name", func(c *fiber.Ctx) error { 244 msg := fmt.Sprintf("Hello, %s 👋!", c.Params("name")) 245 return c.SendString(msg) // => Hello john 👋! 246 }) 247 248 log.Fatal(app.Listen(":3000")) 249 } 250 251 ``` 252 253 </div> 254 255 <div dir="ltr" > 256 257 #### 📖 [**Route Naming**](https://docs.gofiber.io/api/app#name) 258 259 ```go 260 func main() { 261 app := fiber.New() 262 263 // GET /api/register 264 app.Get("/api/*", func(c *fiber.Ctx) error { 265 msg := fmt.Sprintf("✋ %s", c.Params("*")) 266 return c.SendString(msg) // => ✋ register 267 }).Name("api") 268 269 data, _ := json.MarshalIndent(app.GetRoute("api"), "", " ") 270 fmt.Print(string(data)) 271 // Prints: 272 // { 273 // "method": "GET", 274 // "name": "api", 275 // "path": "/api/*", 276 // "params": [ 277 // "*1" 278 // ] 279 // } 280 281 282 log.Fatal(app.Listen(":3000")) 283 } 284 285 ``` 286 287 </div> 288 289 290 #### 📖 [**Serving Static Files**](https://docs.gofiber.io/api/app#static) 291 292 <div dir="ltr"> 293 294 ```go 295 func main() { 296 app := fiber.New() 297 298 app.Static("/", "./public") 299 // => http://localhost:3000/js/script.js 300 // => http://localhost:3000/css/style.css 301 302 app.Static("/prefix", "./public") 303 // => http://localhost:3000/prefix/js/script.js 304 // => http://localhost:3000/prefix/css/style.css 305 306 app.Static("*", "./public/index.html") 307 // => http://localhost:3000/any/path/shows/index/html 308 309 log.Fatal(app.Listen(":3000")) 310 } 311 312 ``` 313 314 </div> 315 316 #### 📖 [**Middleware & Next**](https://docs.gofiber.io/api/ctx#next) 317 318 <div dir="ltr"> 319 320 ```go 321 func main() { 322 app := fiber.New() 323 324 // Match any route 325 app.Use(func(c *fiber.Ctx) error { 326 fmt.Println("🥇 First handler") 327 return c.Next() 328 }) 329 330 // Match all routes starting with /api 331 app.Use("/api", func(c *fiber.Ctx) error { 332 fmt.Println("🥈 Second handler") 333 return c.Next() 334 }) 335 336 // GET /api/list 337 app.Get("/api/list", func(c *fiber.Ctx) error { 338 fmt.Println("🥉 Last handler") 339 return c.SendString("Hello, World 👋!") 340 }) 341 342 log.Fatal(app.Listen(":3000")) 343 } 344 345 ``` 346 347 </div> 348 </br> 349 350 <details> 351 <summary>📚 نمایش نمونه کدهای بیشتر</summary> 352 </br> 353 354 ### View engines 355 356 </br> 357 358 📖 [پیکربندی](https://docs.gofiber.io/api/fiber#config) 359 📖 [موتورها](https://github.com/gofiber/template) 360 📖 [رندر](https://docs.gofiber.io/api/ctx#render) 361 362 <br> 363 <p align="center"> 364 <div dir="rtl"> 365 Fiber زمانیکه view engine تنظیم نشده باشد بطور پیش فرض از <a href="https://pkg.go.dev/html/template/">html/template</a> استفاده می کند.<br> 366 شما می توانید از موتورهای مختلفی نظیر <a href="https://github.com/eknkc/amber">amber</a>, <a href="https://github.com/aymerick/raymond">handlebars</a>, <a href="https://github.com/cbroglie/mustache">mustache</a> یا <a href="https://github.com/Joker/jade">pug</a> استفاده کنید.<br> 367 پکیج موتورهای پشتیبانی شده را می توانید در <a href="https://github.com/gofiber/template">اینجا</a> ببینید. 368 <div dir="rtl"> 369 <br> 370 </p> 371 372 <div dir="ltr"> 373 374 ```go 375 package main 376 377 import ( 378 "github.com/boomhut/fiber/v2" 379 "github.com/gofiber/template/pug" 380 ) 381 382 func main() { 383 // You can setup Views engine before initiation app: 384 app := fiber.New(fiber.Config{ 385 Views: pug.New("./views", ".pug"), 386 }) 387 388 // And now, you can call template `./views/home.pug` like this: 389 app.Get("/", func(c *fiber.Ctx) error { 390 return c.Render("home", fiber.Map{ 391 "title": "Homepage", 392 "year": 1999, 393 }) 394 }) 395 396 log.Fatal(app.Listen(":3000")) 397 } 398 ``` 399 400 </div> 401 402 ### Grouping routes into chains 403 404 📖 [Group](https://docs.gofiber.io/api/app#group) 405 406 <div dir="ltr"> 407 408 ```go 409 func middleware(c *fiber.Ctx) error { 410 fmt.Println("Don't mind me!") 411 return c.Next() 412 } 413 414 func handler(c *fiber.Ctx) error { 415 return c.SendString(c.Path()) 416 } 417 418 func main() { 419 app := fiber.New() 420 421 // Root API route 422 api := app.Group("/api", middleware) // /api 423 424 // API v1 routes 425 v1 := api.Group("/v1", middleware) // /api/v1 426 v1.Get("/list", handler) // /api/v1/list 427 v1.Get("/user", handler) // /api/v1/user 428 429 // API v2 routes 430 v2 := api.Group("/v2", middleware) // /api/v2 431 v2.Get("/list", handler) // /api/v2/list 432 v2.Get("/user", handler) // /api/v2/user 433 434 // ... 435 } 436 437 ``` 438 439 </div> 440 441 ### Middleware logger 442 443 📖 [Logger](https://docs.gofiber.io/api/middleware/logger) 444 445 <div dir="ltr"> 446 447 ```go 448 package main 449 450 import ( 451 "log" 452 453 "github.com/boomhut/fiber/v2" 454 "github.com/gofiber/fiber/v2/middleware/logger" 455 ) 456 457 func main() { 458 app := fiber.New() 459 460 app.Use(logger.New()) 461 462 // ... 463 464 log.Fatal(app.Listen(":3000")) 465 } 466 ``` 467 468 </div> 469 470 ### Cross-Origin Resource Sharing (CORS) 471 472 📖 [CORS](https://docs.gofiber.io/api/middleware/cors) 473 474 <div dir="ltr"> 475 476 ```go 477 import ( 478 "log" 479 480 "github.com/boomhut/fiber/v2" 481 "github.com/gofiber/fiber/v2/middleware/cors" 482 ) 483 484 func main() { 485 app := fiber.New() 486 487 app.Use(cors.New()) 488 489 // ... 490 491 log.Fatal(app.Listen(":3000")) 492 } 493 ``` 494 495 </div> 496 497 Check CORS by passing any domain in `Origin` header: 498 499 <div dir="ltr"> 500 501 ```bash 502 curl -H "Origin: http://example.com" --verbose http://localhost:3000 503 ``` 504 505 </div> 506 507 ### Custom 404 response 508 509 📖 [HTTP Methods](https://docs.gofiber.io/api/ctx#status) 510 511 <div dir="ltr"> 512 513 ```go 514 func main() { 515 app := fiber.New() 516 517 app.Static("/", "./public") 518 519 app.Get("/demo", func(c *fiber.Ctx) error { 520 return c.SendString("This is a demo!") 521 }) 522 523 app.Post("/register", func(c *fiber.Ctx) error { 524 return c.SendString("Welcome!") 525 }) 526 527 // Last middleware to match anything 528 app.Use(func(c *fiber.Ctx) error { 529 return c.SendStatus(404) 530 // => 404 "Not Found" 531 }) 532 533 log.Fatal(app.Listen(":3000")) 534 } 535 ``` 536 537 </div> 538 539 ### JSON Response 540 541 📖 [JSON](https://docs.gofiber.io/api/ctx#json) 542 543 <div dir="ltr"> 544 545 ```go 546 type User struct { 547 Name string `json:"name"` 548 Age int `json:"age"` 549 } 550 551 func main() { 552 app := fiber.New() 553 554 app.Get("/user", func(c *fiber.Ctx) error { 555 return c.JSON(&User{"John", 20}) 556 // => {"name":"John", "age":20} 557 }) 558 559 app.Get("/json", func(c *fiber.Ctx) error { 560 return c.JSON(fiber.Map{ 561 "success": true, 562 "message": "Hi John!", 563 }) 564 // => {"success":true, "message":"Hi John!"} 565 }) 566 567 log.Fatal(app.Listen(":3000")) 568 } 569 ``` 570 571 </div> 572 573 ### WebSocket Upgrade 574 575 📖 [Websocket](https://github.com/gofiber/websocket) 576 577 <div dir="ltr"> 578 579 ```go 580 import ( 581 "github.com/boomhut/fiber/v2" 582 "github.com/gofiber/fiber/v2/middleware/websocket" 583 ) 584 585 func main() { 586 app := fiber.New() 587 588 app.Get("/ws", websocket.New(func(c *websocket.Conn) { 589 for { 590 mt, msg, err := c.ReadMessage() 591 if err != nil { 592 log.Println("read:", err) 593 break 594 } 595 log.Printf("recv: %s", msg) 596 err = c.WriteMessage(mt, msg) 597 if err != nil { 598 log.Println("write:", err) 599 break 600 } 601 } 602 })) 603 604 log.Fatal(app.Listen(":3000")) 605 // ws://localhost:3000/ws 606 } 607 ``` 608 609 ### Server-Sent Events 610 611 📖 [More Info](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events) 612 613 ```go 614 import ( 615 "github.com/boomhut/fiber/v2" 616 "github.com/valyala/fasthttp" 617 ) 618 619 func main() { 620 app := fiber.New() 621 622 app.Get("/sse", func(c *fiber.Ctx) error { 623 c.Set("Content-Type", "text/event-stream") 624 c.Set("Cache-Control", "no-cache") 625 c.Set("Connection", "keep-alive") 626 c.Set("Transfer-Encoding", "chunked") 627 628 c.Context().SetBodyStreamWriter(fasthttp.StreamWriter(func(w *bufio.Writer) { 629 fmt.Println("WRITER") 630 var i int 631 632 for { 633 i++ 634 msg := fmt.Sprintf("%d - the time is %v", i, time.Now()) 635 fmt.Fprintf(w, "data: Message: %s\n\n", msg) 636 fmt.Println(msg) 637 638 w.Flush() 639 time.Sleep(5 * time.Second) 640 } 641 })) 642 643 return nil 644 }) 645 646 log.Fatal(app.Listen(":3000")) 647 } 648 ``` 649 650 </div> 651 652 ### Recover middleware 653 654 📖 [Recover](https://docs.gofiber.io/api/middleware/recover) 655 656 <div dir="ltr"> 657 658 ```go 659 import ( 660 "github.com/boomhut/fiber/v2" 661 "github.com/gofiber/fiber/v2/middleware/recover" 662 ) 663 664 func main() { 665 app := fiber.New() 666 667 app.Use(recover.New()) 668 669 app.Get("/", func(c *fiber.Ctx) error { 670 panic("normally this would crash your app") 671 }) 672 673 log.Fatal(app.Listen(":3000")) 674 } 675 ``` 676 677 </div> 678 679 </details> 680 </br></br> 681 682 ## 🧬 Middleware داخلی 683 684 </br> 685 686 در اینجا لیستی از middleware های Fiber موجود است. 687 688 </br> 689 690 <div dir="rtl"> 691 692 | Middleware | توضیحات | 693 | :------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | 694 | [basicauth](https://github.com/gofiber/fiber/tree/master/middleware/basicauth) |یک میدلور پایه که سیستم احراز هویت پایه ای را فراهم میکند. در صورت معتبر بودن درخواست روتر بعدی صدا زده شده و در صورت نامعتبر بودن خطای ۴۰۱ نمایش داده میشود.| 695 | [cache](https://github.com/gofiber/fiber/tree/master/middleware/cache) |پاسخ هارا رهگیری کرده و انها را به صورت موقت ذخیره میکند.| 696 | [compress](https://github.com/gofiber/fiber/tree/master/middleware/compress) | یک میدلور فشرده سازی برای Fiber که به طور پیشفرض از `deflate`, `gzip` و `brotli`. پشتیبانی میکند.| | 697 | [cors](https://github.com/gofiber/fiber/tree/master/middleware/cors) |فعال سازی هدر های cross-origin با گزینه های مختلف.| 698 | [csrf](https://github.com/gofiber/fiber/tree/master/middleware/csrf) |در برابر حملات CSRF ایمنی ایجاد میکند.| 699 | [encryptcookie](https://github.com/gofiber/fiber/tree/master/middleware/encryptcookie) |مقادیر کوکی هارا رمزنگاری میکند.| 700 | [envvar](https://github.com/gofiber/fiber/tree/master/middleware/envvar) | با ارائه تنظیمات اختیاری، متغیرهای محیط را در معرض دید قرار دهید. | 701 | [etag](https://github.com/gofiber/fiber/tree/master/middleware/etag) | میدلور ETag به کش ها اجازه میدهد کارآمد تر عمل کرده و در پهنای باند صرفه جویی کنند. به عنوان یک وب سرور نیازی به دادن پاسخ کامل نیست اگر محتوا تغییر نکرده باشد. | 702 | [expvar](https://github.com/gofiber/fiber/tree/master/middleware/expvar) | میدلور Expvar میتواند متغیر هایی را تعریف کرده و مقادیر انها را در زمان اجرا با فرمت JSON به شما نشان دهد. | 703 | [favicon](https://github.com/gofiber/fiber/tree/master/middleware/favicon) | جلوگیری و یا کش کردن درخواست های favicon در صورتی که مسیر یک فایل را داده باشید.| 704 | [filesystem](https://github.com/gofiber/fiber/tree/master/middleware/filesystem) | میدلور FileSystem به شما اجازه میدهد فایل های یک مسیر را عمومی کنید. | 705 | [limiter](https://github.com/gofiber/fiber/tree/master/middleware/limiter) |میدلور محدود کننده تعداد درخواست برای Fiber.| 706 | [logger](https://github.com/gofiber/fiber/tree/master/middleware/logger) |لاگ گرفتن از درخواست و پاسخ های HTTP.| 707 | [monitor](https://github.com/gofiber/fiber/tree/master/middleware/monitor) |وضعیت سرور را مانیتور و گزارش میکند، از express-status-monitor الهام گرفته شده است.| 708 | [pprof](https://github.com/gofiber/fiber/tree/master/middleware/pprof) | تشکر ویژه از Matthew Lee \(@mthli\)| 709 | [proxy](https://github.com/gofiber/fiber/tree/master/middleware/proxy) | اجازه میدهد درخواست هارا بر روی چند سرور پروکسی کنید. | 710 | [recover](https://github.com/gofiber/fiber/tree/master/middleware/recover) |خطا های زمان اجرا را در وب سرور HTTP شما مدیریت میکنند[ ErrorHandler](https://docs.gofiber.io/guide/error-handling). | 711 | [requestid](https://github.com/gofiber/fiber/tree/master/middleware/requestid) | به تمامی درخواست ها شناسه ای را اختصاص میدهد.| 712 | [session](https://github.com/gofiber/fiber/tree/master/middleware/session) |برای ذخیره و مدیریت شناسه کاربری یا session بازدید کنندگان استفاده .میشود| 713 | [skip](https://github.com/gofiber/fiber/tree/master/middleware/skip) |این میدلور میتواند با استفاده از شرط های تعیین شده درخواست هایی را نادیده بگیرد.| 714 | [timeout](https://github.com/gofiber/fiber/tree/master/middleware/timeout) |این میدلور محدودیت زمانی ای را برای درخواست ها تنظیم میکند، در صورتی که محدودیت به پایان برسد ErrorHandler صدا زده میشود.| 715 | [keyauth](https://github.com/gofiber/keyauth) | Key auth middleware provides a key based authentication. | 716 | [redirect](https://github.com/gofiber/redirect) | Redirect middleware | 717 | [rewrite](https://github.com/gofiber/rewrite) | Rewrite middleware rewrites the URL path based on provided rules. It can be helpful for backward compatibility or just creating cleaner and more descriptive links. | 718 | [adaptor](https://github.com/gofiber/adaptor) | Converter for net/http handlers to/from Fiber request handlers, special thanks to @arsmn! | 719 | [helmet](https://github.com/gofiber/helmet) | Helps secure your apps by setting various HTTP headers. | 720 721 </div> 722 </br></br> 723 724 ## 🧬 Middleware خارجی 725 726 </br> 727 728 لیست middleware های خارجی که توسط [تیم Fiber](https://github.com/orgs/gofiber/people) نگه داری می شود. 729 730 </br> 731 732 <div dir="ltr"> 733 734 | Middleware | توضیحات | 735 | :------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | 736 | [jwt](https://github.com/gofiber/jwt) | JWT returns a JSON Web Token \(JWT\) auth middleware. | 737 | [storage](https://github.com/gofiber/storage) | Premade storage drivers that implement the Storage interface, designed to be used with various Fiber middlewares. | 738 | [template](https://github.com/gofiber/template) | This package contains 8 template engines that can be used with Fiber `v1.10.x` Go version 1.13 or higher is required. | 739 | [websocket](https://github.com/gofiber/websocket) | Based on Fasthttp WebSocket for Fiber with Locals support! | 740 741 ## 🕶️ Awesome List 742 743 For more articles, middlewares, examples or tools check our [awesome list](https://github.com/gofiber/awesome-fiber). 744 745 </br> 746 747 ## 👍 مشارکت کنندگان 748 749 </br> 750 751 اگر شما میخواهید **تشکر** کنید و یا از توسعه فعال Fiber حمایت کنید : 752 753 1. یک [GitHub Star](https://github.com/gofiber/fiber/stargazers) به پروژه اضافه کنید. 754 2. ارسال توییت درباره Fiber برروی [صفحه توییتر شما](https://twitter.com/intent/tweet?text=Fiber%20is%20an%20Express%20inspired%20%23web%20%23framework%20built%20on%20top%20of%20Fasthttp%2C%20the%20fastest%20HTTP%20engine%20for%20%23Go.%20Designed%20to%20ease%20things%20up%20for%20%23fast%20development%20with%20zero%20memory%20allocation%20and%20%23performance%20in%20mind%20%F0%9F%9A%80%20https%3A%2F%2Fgithub.com%2Fgofiber%2Ffiber). 755 3. یک آموزش یا نظر برروی [Medium](https://medium.com/), [Dev.to](https://dev.to/) یا وبلاگ شخصیتان. 756 4. پشتیبانی پروژه با حمایت مالی از طریق [یک فنجان قهوه](https://buymeacoff.ee/fenny). 757 758 </br> 759 760 ## ☕ حامیان مالی 761 762 </br> 763 764 Fiber یک پروژه متن باز است که با کمک مالی برای پرداخت قبض های دامنه, gitbook, netlify, هاست انجام می شود. اگر می خواهید از Fiber حمایت کنید شما می توانید [**از اینجا یک قهوه بخرید**](https://buymeacoff.ee/fenny). 765 766 </br> 767 768 | | کاربر | حمایت مالی | 769 | :--------------------------------------------------------- | :----------------------------------------------- | :--------- | 770 |  | [@destari](https://github.com/destari) | ☕ x 10 | 771 |  | [@dembygenesis](https://github.com/dembygenesis) | ☕ x 5 | 772 |  | [@thomasvvugt](https://github.com/thomasvvugt) | ☕ x 5 | 773 |  | [@hendratommy](https://github.com/hendratommy) | ☕ x 5 | 774 |  | [@ekaputra07](https://github.com/ekaputra07) | ☕ x 5 | 775 |  | [@jorgefuertes](https://github.com/jorgefuertes) | ☕ x 5 | 776 |  | [@candidosales](https://github.com/candidosales) | ☕ x 5 | 777 |  | [@l0nax](https://github.com/l0nax) | ☕ x 3 | 778 |  | [@bihe](https://github.com/bihe) | ☕ x 3 | 779 |  | [@justdave](https://github.com/justdave) | ☕ x 3 | 780 |  | [@koddr](https://github.com/koddr) | ☕ x 1 | 781 |  | [@lapolinar](https://github.com/lapolinar) | ☕ x 1 | 782 |  | [@diegowifi](https://github.com/diegowifi) | ☕ x 1 | 783 |  | [@ssimk0](https://github.com/ssimk0) | ☕ x 1 | 784 |  | [@raymayemir](https://github.com/raymayemir) | ☕ x 1 | 785 |  | [@melkorm](https://github.com/melkorm) | ☕ x 1 | 786 |  | [@marvinjwendt](https://github.com/marvinjwendt) | ☕ x 1 | 787 |  | [@toishy](https://github.com/toishy) | ☕ x 1 | 788 789 </br> 790 791 ## 💻 مشارکت کنندگان کد 792 793 </br> 794 795 <img src="https://opencollective.com/fiber/contributors.svg?width=890&button=false" alt="Code Contributors" style="max-width:100%;"> 796 797 </br> 798 799 ## ⭐️ ستاره ها 800 801 </br> 802 803 <img src="https://starchart.cc/gofiber/fiber.svg" alt="Stargazers over time" style="max-width: 100%"> 804 805 </br></br> 806 807 ## ⚠️ لایسنس 808 809 </br> 810 811 <div dir="ltr"> 812 813 Copyright (c) 2019-present [Fenny](https://github.com/fenny) and [Contributors](https://github.com/gofiber/fiber/graphs/contributors). `Fiber` is free and open-source software licensed under the [MIT License](https://github.com/gofiber/fiber/blob/master/LICENSE). Official logo was created by [Vic Shóstak](https://github.com/koddr) and distributed under [Creative Commons](https://creativecommons.org/licenses/by-sa/4.0/) license (CC BY-SA 4.0 International). 814 815 </div> 816 817 </br> 818 819 **مجوزهای کتابخانه شخص ثالث** 820 821 - [colorable](https://github.com/mattn/go-colorable/blob/master/LICENSE) 822 - [isatty](https://github.com/mattn/go-isatty/blob/master/LICENSE) 823 - [runewidth](https://github.com/mattn/go-runewidth/blob/master/LICENSE) 824 - [fasthttp](https://github.com/valyala/fasthttp/blob/master/LICENSE) 825 - [bytebufferpool](https://github.com/valyala/bytebufferpool/blob/master/LICENSE) 826 - [dictpool](https://github.com/savsgio/dictpool/blob/master/LICENSE) 827 - [fwd](https://github.com/philhofer/fwd/blob/master/LICENSE.md) 828 - [go-ole](https://github.com/go-ole/go-ole/blob/master/LICENSE) 829 - [gopsutil](https://github.com/shirou/gopsutil/blob/master/LICENSE) 830 - [msgp](https://github.com/tinylib/msgp/blob/master/LICENSE) 831 - [schema](https://github.com/gorilla/schema/blob/master/LICENSE) 832 - [uuid](https://github.com/google/uuid/blob/master/LICENSE) 833 - [wmi](https://github.com/StackExchange/wmi/blob/master/LICENSE)