1<!doctype html><html lang=en dir=ltr class="docs-wrapper plugin-docs plugin-id-contrib docs-version-current docs-doc-page docs-doc-id-README" data-has-hydrated=false><head><meta charset=UTF-8><meta name=generator content="Docusaurus v3.10.2"><title data-rh=true>ð Welcome | Fiber</title><meta data-rh=true name=viewport content="width=device-width, initial-scale=1.0"/><meta data-rh=true name=twitter:card content=summary_large_image /><meta data-rh=true property=og:url content=https://docs.gofiber.io/contrib/ /><meta data-rh=true property=og:locale content=en /><meta data-rh=true name=docusaurus_locale content=en /><meta data-rh=true name=docsearch:language content=en /><meta data-rh=true name=docusaurus_version content=current /><meta data-rh=true name=docusaurus_tag content=docs-contrib-current /><meta data-rh=true name=docsearch:version content=current /><meta data-rh=true name=docsearch:docusaurus_tag content=docs-contrib-current /><meta data-rh=true property=og:title content="ð Welcome | Fiber"/><meta data-rh=true name=description content=Discord /><meta data-rh=true property=og:description content=Discord /><link data-rh=true rel=icon href=/img/favicon.png /><link data-rh=true rel=canonical href=https://docs.gofiber.io/contrib/ /><link data-rh=true rel=alternate href=https://docs.gofiber.io/contrib/ hreflang=en /><link data-rh=true rel=alternate href=https://docs.gofiber.io/contrib/ hreflang=x-default />
1<script data-rh=true type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","item":"https://docs.gofiber.io/contrib/","name":"ð Welcome","position":1}]}</script>
1<link rel=alternate type=application/rss+xml href=/blog/rss.xml title="Fiber RSS Feed"><link rel=alternate type=application/atom+xml href=/blog/atom.xml title="Fiber Atom Feed"><style>html{visibility:hidden}html[data-theme]{visibility:visible}</style>
1<script type="7c91d2700da3224e534f1c22-text/javascript">!function(){var e=function(){try{return window.localStorage.getItem("theme")}catch(e){return null}}(),t=e||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light");document.documentElement.setAttribute("data-theme",t),document.documentElement.setAttribute("data-theme-choice",e||"system"),document.documentElement.style.colorScheme=t,document.body&&(document.body.style.colorScheme=t),new MutationObserver(function(){var e=document.documentElement.getAttribute("data-theme");e&&(document.documentElement.style.colorScheme=e,document.body&&(document.body.style.colorScheme=e))}).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]})}()</script>
1<script async src=https://scripts.simpleanalyticscdn.com/latest.js type="7c91d2700da3224e534f1c22-text/javascript"></script>
1<link rel=icon href=/img/favicon.png><link rel=manifest href=/manifest.json><meta name=theme-color content="rgb(0, 172, 215)"><link rel=stylesheet href=/assets/css/styles.c470f6be.css />
1<script src=/assets/js/runtime~main.304799f2.js defer type="7c91d2700da3224e534f1c22-text/javascript"></script>
1<script src=/assets/js/main.f282b6a7.js defer type="7c91d2700da3224e534f1c22-text/javascript"></script>
1</head><body><svg style="display: none;"><defs> 2<symbol id=theme-svg-external-link viewBox="0 0 24 24"><path fill=currentColor d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol> 3</defs></svg>
4<script type="7c91d2700da3224e534f1c22-text/javascript">!function(){var t=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme-a4a")}catch(t){}}();document.documentElement.setAttribute("data-theme",t||(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")),document.documentElement.setAttribute("data-theme-choice",t||"system")}(),function(){try{for(var[t,e]of new URLSearchParams(window.location.search).entries())if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss-a4a")}catch(t){}return!1}())</script>
4<div id=__docusaurus><link rel=preload as=image href=/img/logo.svg /><link rel=preload as=image href=/img/logo-dark.svg /><link rel=preload as=image href=https://raw.githubusercontent.com/gofiber/contrib/master/.github/logo-dark.svg#gh-dark-mode-only /><link rel=preload as=image href=https://raw.githubusercontent.com/gofiber/contrib/master/.github/logo.svg#gh-light-mode-only /><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-casbin.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-circuitbreaker.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-coraza.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-fgprof.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-i18n.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-sentry.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-zap.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-zerolog.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-hcaptcha.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-jwt.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-loadshed.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-newrelic.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-monitor.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-prometheus.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-uptime.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-opa.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-otel.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-paseto.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-socketio.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-spnego.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-swaggo.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-swaggerui.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-websocket.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><link rel=preload as=image href="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-testcontainers.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B"/><div role=region aria-label="Skip to main content"><a class=skipToContent_fXgn href=#__docusaurus_skipToContent_fallback>Skip to main content</a></div><div class="theme-announcement-bar announcementBar_mb4j" style=background-color:#fafbfc;color:#091E42 role=banner><div class=announcementBarPlaceholder_vyr4></div><div class="content_knG7 announcementBarContent_xLdY">ð If you like Fiber, don't forget to give us a star on <a href=https://github.com/gofiber/fiber>Github</a> ð</div><button type=button aria-label=Close class="clean-btn close closeButton_CVFx announcementBarClose_gvF7"><svg viewBox="0 0 15 15" width=14 height=14><g stroke=currentColor stroke-width=3.1><path d="M.75.75l13.5 13.5M14.25.75L.75 14.25"/></g></svg></button></div><nav aria-label=Main class="theme-layout-navbar navbar navbar--fixed-top"><div class=navbar__inner><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded=false class="navbar__toggle clean-btn" type=button><svg width=30 height=30 viewBox="0 0 30 30" aria-hidden=true><path stroke=currentColor stroke-linecap=round stroke-miterlimit=10 stroke-width=2 d="M4 7h22M4 15h22M4 23h22"/></svg></button><a href=https://gofiber.io target=_self rel="noopener noreferrer" class=navbar__brand><div class=navbar__logo><img src=/img/logo.svg alt="Fiber Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"/><img src=/img/logo-dark.svg alt="Fiber Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"/></div></a><a class="navbar__item navbar__link" href=/>ð Home</a><div class="navbar__item dropdown dropdown--hoverable"><a href=# aria-haspopup=true aria-expanded=false role=button class=navbar__link>ð§© Extra</a><ul class=dropdown__menu><li><a aria-current=page class="dropdown__link dropdown__link--active" href=/contrib/>𧬠Contrib</a><li><a class=dropdown__link href=/storage/>ð¦ Storage</a><li><a class=dropdown__link href=/template/>ï¸ðï¸ Template</a></ul></div><a href=https://gofiber.io/support target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">â Donate</a><a class="navbar__item navbar__link" href=/recipes/>ð³ Recipes</a><a class="navbar__item navbar__link" href=/blog>ð° Blog</a><a href=https://github.com/gofiber/awesome-fiber target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">ð Awesome List</a><a href=https://gofiber.io/discord target=_blank rel="noopener noreferrer" class="navbar__item navbar__link">ð¬ Chat</a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a class="navbar__item navbar__link contrib-versions" href=/contrib/>Next (unreleased)</a><a href=https://github.com/gofiber/fiber target=_blank rel="noopener noreferrer" position=right class="navbar__item navbar__link github-stars-navbar-item" aria-label="Fiber on GitHub (loading star count)"><span class=github-stars-navbar-item__icon aria-hidden=true>â</span><span class=github-stars-navbar-item__count>â¦</span></a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href=# aria-haspopup=true aria-expanded=false role=button class="navbar__link header-github-link" aria-label="GitHub Repository"></a><ul class=dropdown__menu><li><a href=https://github.com/gofiber/fiber target=_blank rel="noopener noreferrer" class=dropdown__link>ð Fiber<svg width=12 height=12 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li><a href=https://github.com/gofiber/contrib target=_blank rel="noopener noreferrer" class=dropdown__link>𧬠Contrib<svg width=12 height=12 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li><a href=https://github.com/gofiber/storage target=_blank rel="noopener noreferrer" class=dropdown__link>ð¦ Storage<svg width=12 height=12 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li><a href=https://github.com/gofiber/template target=_blank rel="noopener noreferrer" class=dropdown__link>ðï¸ Template<svg width=12 height=12 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a><li><a href=https://github.com/gofiber/recipes target=_blank rel="noopener noreferrer" class=dropdown__link>ð³ï¸ Recipes<svg width=12 height=12 aria-label="(opens in new tab)" class=iconExternalLink_nPIU><use href=#theme-svg-external-link /></svg></a></ul></div><div class="toggle_vylO colorModeToggle_DEke"><button class="clean-btn toggleButton_gllP toggleButtonDisabled_aARS" type=button disabled title="system mode" aria-label="Switch between dark and light mode (currently system mode)"><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP lightToggleIcon_pyhR"><path fill=currentColor d="M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,
41S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"/></svg><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP darkToggleIcon_wfgR"><path fill=currentColor d="M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"/></svg><svg viewBox="0 0 24 24" width=24 height=24 aria-hidden=true class="toggleIcon_g3eP systemToggleIcon_QzmC"><path fill=currentColor d="m12 21c4.971 0 9-4.029 9-9s-4.029-9-9-9-9 4.029-9 9 4.029 9 9 9zm4.95-13.95c1.313 1.313 2.05 3.093 2.05 4.95s-0.738 3.637-2.05 4.95c-1.313 1.313-3.093 2.05-4.95 2.05v-14c1.857 0 3.637 0.737 4.95 2.05z"/></svg></button></div><div class=navbarSearchContainer_Bca1><div class="navbar__search searchBarContainer_NW3z" dir=ltr><svg aria-hidden=true class=searchIcon_T3tP focusable=false viewBox="0 0 16 16"><path fill=currentColor d="M6.02945 10.20327a4.17382 4.17382 0 1 1 4.17382-4.17382 4.15609 4.15609 0 0 1-4.17382 4.17382Zm9.69195 4.2199-4.8225-4.82338A5.88021 5.88021 0 0 0 12.058 6.02856 6.00467 6.00467 0 1 0 9.59979 10.8989l4.82338 4.82338a.89729.89729 0 0 0 1.29912 0 .89749.89749 0 0 0-.00087-1.29909Z"/></svg><input placeholder=Search aria-label=Search class="navbar__search-input searchInput_YFbd" value="" /><div class="loadingRing_RJI3 searchBarLoadingRing_YnHq"><div></div><div></div><div></div><div></div></div></div></div></div></div><div role=presentation class=navbar-sidebar__backdrop></div></nav><div id=__docusaurus_skipToContent_fallback class="theme-layout-main main-wrapper mainWrapper_z2l0"><div class=docsWrapper_hBAB><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type=button></button><div class=docRoot_UBD9><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class=sidebarViewport_aRkj><div class=sidebar_njMd><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG menuWithAnnouncementBar_GW3s"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current=page href=/contrib/><span class=linkLabel_WmDU>ð Welcome</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/casbin/><span class=linkLabel_WmDU>Casbin</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/circuitbreaker/><span class=linkLabel_WmDU>Circuit Breaker</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/coraza/><span class=linkLabel_WmDU>Coraza</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/fgprof/><span class=linkLabel_WmDU>Fgprof</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/hcaptcha/><span class=linkLabel_WmDU>HCaptcha</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/i18n/><span class=linkLabel_WmDU>I18n</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/jwt/><span class=linkLabel_WmDU>JWT</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/loadshed/><span class=linkLabel_WmDU>LoadShed</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/monitor/><span class=linkLabel_WmDU>Monitor</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/newrelic/><span class=linkLabel_WmDU>New Relic</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/opa/><span class=linkLabel_WmDU>OPA</span></a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist" href=/contrib/otel/><span class=categoryLinkLabel_W154>OTel</span></a><button aria-label="Expand sidebar category 'OTel'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/paseto/><span class=linkLabel_WmDU>Paseto</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/prometheus/><span class=linkLabel_WmDU>Prometheus</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/sentry/><span class=linkLabel_WmDU>Sentry</span></a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist" href=/contrib/socketio/><span class=categoryLinkLabel_W154>Socket.io</span></a><button aria-label="Expand sidebar category 'Socket.io'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/spnego/><span class=linkLabel_WmDU>SPNEGO Kerberos Authentication Middleware for Fiber</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/swaggerui/><span class=linkLabel_WmDU>Swagger UI</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/swaggo/><span class=linkLabel_WmDU>Swaggo</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/testcontainers/><span class=linkLabel_WmDU>Testcontainers</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/uptime/><span class=linkLabel_WmDU>Uptime</span></a><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class=menu__list-item-collapsible><a class="categoryLink_byQd menu__link menu__link--sublist" href=/contrib/websocket/><span class=categoryLinkLabel_W154>Websocket</span></a><button aria-label="Expand sidebar category 'Websocket'" aria-expanded=false type=button class="clean-btn menu__caret"></button></div><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/zap/><span class=linkLabel_WmDU>Zap</span></a><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class=menu__link href=/contrib/zerolog/><span class=linkLabel_WmDU>Zerolog</span></a></ul></nav><button type=button title="Collapse sidebar" aria-label="Collapse sidebar" class="button button--secondary button--outline collapseSidebarButton_PEFL"><svg width=20 height=20 aria-hidden=true class=collapseSidebarButtonIcon_kv0_><g fill=#7a7a7a><path d="M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"/><path d="M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"/></g></svg></button></div></div></aside><main class=docMainContainer_TBSr><div class="container padding-top--md padding-bottom--lg"><div class=row><div class="col docItemCol_VOVn"><div class=docItemContainer_Djhp><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label=Breadcrumbs><ul class=breadcrumbs><li class=breadcrumbs__item><a aria-label="Home page" class=breadcrumbs__link href=/><svg viewBox="0 0 24 24" class=breadcrumbHomeIcon_YNFT><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill=currentColor /></svg></a><li class="breadcrumbs__item breadcrumbs__item--active"><span class=breadcrumbs__link>
4ð Welcome</span></ul></nav><span class="theme-doc-version-badge badge badge--secondary">Version: Next</span><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type=button class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>ð Welcome</h1></header><div align=center><img height=125 alt=Fiber src=https://raw.githubusercontent.com/gofiber/contrib/master/.github/logo-dark.svg#gh-dark-mode-only /><img height=125 alt=Fiber src=https://raw.githubusercontent.com/gofiber/contrib/master/.github/logo.svg#gh-light-mode-only /><br/><p><a href=https://gofiber.io/discord target=_blank rel="noopener noreferrer" class=""><img decoding=async loading=lazy src="https://img.shields.io/discord/704680098577514527?style=flat&label=%F0%9F%92%AC%20discord&color=00ACD7" alt=Discord class=img_ev3q /></a> 5<img decoding=async loading=lazy src=https://github.com/gofiber/contrib/actions/workflows/lint.yml/badge.svg alt=Linter class=img_ev3q /><p>Repository for third party middlewares and service implementations, with dependencies.<blockquote> 6<p><strong>Go version support:</strong> We only support the latest two versions of Go. Visit <a href=https://go.dev/doc/devel/release target=_blank rel="noopener noreferrer" class="">https://go.dev/doc/devel/release</a> for more information.</p> 7</blockquote></div> 8<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-middleware-implementations>ð Middleware Implementations<a href=#-middleware-implementations class=hash-link aria-label="Direct link to ð Middleware Implementations" title="Direct link to ð Middleware Implementations" translate=no>â</a></h2> 9<ul> 10<li class=""><a class="" href=/contrib/casbin/>casbin</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+Casbin%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-casbin.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="casbin workflow status"/> </a></li> 11<li class=""><a class="" href=/contrib/circuitbreaker/>circuitbreaker</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+CircuitBreaker%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-circuitbreaker.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="circuitbreaker workflow status"/> </a></li> 12<li class=""><a class="" href=/contrib/coraza/>coraza</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+Coraza%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-coraza.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="coraza workflow status"/> </a></li> 13<li class=""><a class="" href=/contrib/fgprof/>fgprof</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+Fgprof%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-fgprof.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="fgprof workflow status"/> </a></li> 14<li class=""><a class="" href=/contrib/i18n/>i18n</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+i18n%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-i18n.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="i18n workflow status"/> </a></li> 15<li class=""><a class="" href=/contrib/sentry/>sentry</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+sentry%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-sentry.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="sentry workflow status"/> </a></li> 16<li class=""><a class="" href=/contrib/zap/>zap</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+zap%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-zap.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="zap workflow status"/> </a></li> 17<li class=""><a class="" href=/contrib/zerolog/>zerolog</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+zerolog%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-zerolog.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="zerolog workflow status"/> </a></li> 18<li class=""><a class="" href=/contrib/hcaptcha/>hcaptcha</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+hcaptcha%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-hcaptcha.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="hcaptcha workflow status"/> </a></li> 19<li class=""><a class="" href=/contrib/jwt/>jwt</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+jwt%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-jwt.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="jwt workflow status"/> </a></li> 20<li class=""><a class="" href=/contrib/loadshed/>loadshed</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+loadshed%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-loadshed.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="loadshed workflow status"/> </a></li> 21<li class=""><a class="" href=/contrib/newrelic/>new relic</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+newrelic%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-newrelic.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="new relic workflow status"/> </a></li> 22<li class=""><a class="" href=/contrib/monitor/>monitor</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+Monitor%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-monitor.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="monitor workflow status"/> </a></li> 23<li class=""><a class="" href=/contrib/prometheus/>prometheus</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+Prometheus%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-prometheus.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="prometheus workflow status"/> </a></li> 24<li class=""><a class="" href=/contrib/uptime/>uptime</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+Uptime%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-uptime.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="uptime workflow status"/> </a></li> 25<li class=""><a class="" href=/contrib/opa/>open policy agent</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+opa%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-opa.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="OPA workflow status"/> </a></li> 26<li class=""><a class="" href=/contrib/otel/>otel (opentelemetry)</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+otel%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-otel.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="otel workflow status"/> </a></li> 27<li class=""><a class="" href=/contrib/paseto/>paseto</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+paseto%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-paseto.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="paseto workflow status"/> </a></li> 28<li class=""><a class="" href=/contrib/socketio/>socket.io</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+socketio%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-socketio.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="socket.io workflow status"/> </a></li> 29<li class=""><a class="" href=/contrib/spnego/>spnego</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+spnego%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-spnego.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="spnego workflow status"/> </a></li> 30<li class=""><a class="" href=/contrib/swaggo/>swaggo</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+swaggo%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-swaggo.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="swaggo workflow status"/> </a> <em>(formerly <code>gofiber/swagger</code>)</em></li> 31<li class=""><a class="" href=/contrib/swaggerui/>swaggerui</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+swaggerui%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-swaggerui.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="swaggerui workflow status"/> </a> <em>(formerly <code>gofiber/contrib/swagger</code>)</em></li> 32<li class=""><a class="" href=/contrib/websocket/>websocket</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+websocket%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-websocket.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="websocket workflow status"/> </a></li> 33</ul> 34<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id=-service-implementations>𥡠Service Implementations<a href=#-service-implementations class=hash-link aria-label="Direct link to 𥡠Service Implementations" title="Direct link to 𥡠Service Implementations" translate=no>â</a></h2> 35<ul> 36<li class=""><a class="" href=/contrib/testcontainers/>testcontainers</a> <a href="https://github.com/gofiber/contrib/actions?query=workflow%3A%22Test+Testcontainers%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/contrib/test-testcontainers.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="testcontainers workflow status"/> </a></li> 37</ul></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="row margin-top--sm theme-doc-footer-edit-meta-row"><div class="col noPrint_WFHX"><a href=https://github.com/gofiber/contrib/edit/main/v3/README.md target=_blank rel="noopener noreferrer" class=theme-edit-this-page><svg fill=currentColor height=20 width=20 viewBox="0 0 40 40" class=iconEdit_Z9Sw aria-hidden=true><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"/></g></svg>Edit this page</a></div><div class="col lastUpdated_JAkA"><span class=theme-last-updated>Last updated<!-- --> on <b><time datetime=2026-10-03T18:27:11.000Z itemprop=dateModified>Oct 3, 2026</time></b></span></div></div></footer></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--next" href=/contrib/casbin/><div class=pagination-nav__sublabel>Next</div><div class=pagination-nav__label>Casbin</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href=#-middleware-implementations class="table-of-contents__link toc-highlight">ð Middleware Implementations</a><li><a href=#-service-implementations class="table-of-contents__link toc-highlight">𥡠Service Implementations</a></ul></div></div></div></div></main></div></div></div></div> 38<noscript><img src=https://queue.simpleanalyticscdn.com/noscript.gif alt="" referrerpolicy=no-referrer-when-downgrade /></noscript> 39 40 41 42 43 44 45 46 47 48
49<script src=/inkeepChatButton.js type="7c91d2700da3224e534f1c22-module"></script>
vendor: 142 bytes, line 49
49<script src="/cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="7c91d2700da3224e534f1c22-|49" defer></script>
49</body>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.