Skip to content

✨ A curated list of awesome Fiber middlewares, boilerplates, recipes, articles and tools.

License

Notifications You must be signed in to change notification settings

gofiber/awesome-fiber

Repository files navigation

Awesome FiberAwesome

Fiber Logo

Fiberis anExpressinspiredweb frameworkbuilt on top ofFasthttp,thefastestHTTP engine forGo.Designed toeasethings up forfastdevelopment withzero memory allocationandperformancein mind.

A curated list of awesome Fiber middlewares, boilerplates, recipes, articles and tools.

Contents

⚙️ Middlewares

Where to discover Fiber middlewares.

🧬 Core

List of middlewares that are included within the Fiber framework.

  • Adaptor- Converter for net/http handlers to/from Fiber request handlers.
  • BasicAuth- Basic auth middleware provides an HTTP basic authentication. It calls the next handler for valid credentials and 401 Unauthorized for missing or invalid credentials.
  • Cache- Intercept and cache responses.
  • Compress- Compression middleware for Fiber, it supportsdeflate,gzipandbrotliby default.
  • CORS- Enable cross-origin resource sharing (CORS) with various options.
  • CSRF- Protect from CSRF exploits.
  • Earlydata- Early data support for Fiber.
  • Encrypt Cookie- Encrypt middleware which encrypts cookie values.
  • EnvVar- Expose environment variables with providing an optional config.
  • ETag- ETag middleware that lets caches be more efficient and save bandwidth, as a web server does not need to resend a full response if the content has not changed.
  • Expvar- Expvar middleware that serves via its HTTP server runtime exposed variants in the JSON format.
  • Favicon- Ignore favicon from logs or serve from memory if a file path is provided.
  • FileSystem- FileSystem middleware for Fiber, special thanks and credits to Alireza Salary.
  • Helmet- Helps secure your apps by setting various HTTP headers.
  • Idempotency- Idempotency middleware for Fiber allows for fault-tolerant APIs where duplicate requests.
  • Keyauth- Key auth middleware provides a key based authentication.
  • Limiter- Rate-limiting middleware. Use to limit repeated requests to public APIs and/or endpoints such as password reset.
  • Logger- HTTP request/response logger.
  • Monitor- Monitor middleware that reports server metrics, inspired by express-status-monitor.
  • Pprof- Pprof middleware that serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
  • Proxy- Allows you to proxy requests to a multiple servers.
  • Recover- Recover middleware recovers from panics anywhere in the stack chain and handles the control to the centralized ErrorHandler.
  • Redirect- Redirect middleware for Fiber.
  • RequestID- Adds a requestid to every request.
  • 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.
  • Session- Session middleware. NOTE: This middleware uses our Storage package.
  • Skip- Skip middleware that skips a wrapped handler is a predicate is true.
  • Timeout- Adds a max time for a request and forwards to ErrorHandler if it is exceeded.

🔗 External

List of externally hosted middleware modules and maintained by theFiber team.

  • storage- Premade storage drivers that implement the Storage interface, designed to be used with various Fiber middlewares.
  • template- This package contains 8 template engines that can be used with Fiber v1.10.x Go version 1.13 or higher is required.

‍💻 Contrib

List of third party middlewares and maintained by the Fiber team and community.

  • casbin- Casbin middleware for Fiber.
  • fiberi18n- Middleware for i18n support in Fiber.
  • fibernewrelic- NewRelic middleware for Fiber. The middleware handles NewRelic insturmentation.
  • fibersentry- Sentry support for Fiber.
  • fiberzap- Zap logging support for Fiber.
  • jwt- JWT returns a JSON Web Token (JWT) auth middleware.
  • opafiber- Open Policy Agent middleware for Fiber. The middleware handles running Rego policies.
  • otelfiber- OpenTelemetry support for Fiber.
  • paseto- PASETO returns a Web Token (PASETO) auth middleware.
  • swagger- Swagger middleware for Fiber. The middleware handles Swagger UI.
  • websocket- Based on Fasthttp WebSocket for Fiber with Locals support!

🌱 Third Party

List of middlewares that are created by the Fiber community.

🚧 Boilerplates

Premade boilerplates for Fiber.

📁 Recipes

Recipes for Fiber.

🛠️ Tools

Several tools to make Fiber usage easier.

  • go-dawn/dawn- Dawn is an opinionated web framework that provides rapid development capabilities which on top of Fiber.
  • tompston/gomakeme- Generate boilerplate + endpoints for Fiber or Gin REST APIs.
  • ryanbekhen/feserve- Feserve is a lightweight application or docker image to serve frontend and load balancer applications.
  • deepmap/oapi-codegen- Generate Go client and server boilerplate from OpenAPI 3 specifications.

📖 Articles

Articles about Fiber written by the community.

📺 Videos

Video tutorials created by the community about Fiber.

🤖 Benchmarks

Several benchmarks to compare Fiber with other frameworks.

  • TechEmpower- Project provides performance measures across a wide field of web application frameworks.
  • web-frameworks-benchmark- Project aims to measure the differences between the various programming language frameworks.
  • go-web-framework-benchmark- This benchmark suite aims to compare the performance of Go web frameworks.

👍 Contributing

Contribution guidelines can be found onCONTRIBUTING.md