Git Product home page Git Product logo

awesome-fiber's Introduction

Awesome Fiber Awesome

Fiber Logo

Fiber is an Express inspired web framework built on top of Fasthttp, the fastest HTTP engine for Go. Designed to ease things up for fast development with zero memory allocation and performance in 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 supports deflate, gzip and brotli by 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 the Fiber 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 on CONTRIBUTING.md

awesome-fiber's People

Contributors

alpody avatar amrebada avatar beyer-stefan avatar darkweak avatar dependabot[bot] avatar efectn avatar gaby avatar galvingao avatar ingeniousambivert avatar instabledesign avatar joffref avatar mikhail-bigun avatar mstryoda avatar rajee-a avatar renewerner87 avatar rodrigoodhin avatar ryanbekhen avatar saadfarhan124 avatar samber avatar sebajax avatar sujit-baniya avatar vladfr avatar witer33 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-fiber's Issues

🚀 [Feature]: My (simple) SSEFiber Package (for featuring on extensions page)

Feature Description

A very simple package to add SSE support for fiber

https://github.com/jsorb84/ssefiber
https://pkg.go.dev/github.com/jsorb84/ssefiber

Additional Context (optional)

No response

Code Snippet (optional)

// Example of usage, see package links for more info

package main

import (
"github.com/gofiber"
"github.com/jsorb84/ssefiber"
)

func main() {
  app := fiber.New(...)
  sse := ssefiber.New(app, "/sse")
  channelOne := sse.CreateChannel("Channel One", "/one") // /sse/one
  channelOne.SendEvent("name", "data")
}

Checklist:

  • I agree to follow Fiber's Code of Conduct.
  • I have checked for existing issues that describe my suggestion prior to opening this one.
  • I understand that improperly formatted feature requests may be closed without explanation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.