Comments (4)
I have created a simple logger https://github.com/gofiber/fiber/blob/master/middleware/morgan.go, this is just an example on how internal middlewares are build up.
package main
import (
"github.com/gofiber/fiber"
"github.com/gofiber/fiber/middleware"
)
func main() {
app := fiber.New()
app.Use(middleware.Morgan())
// app.Use(middleware.Cors())
// app.Use(middleware.Helmet())
// app.Use(middleware.Session())
// app.Use(middleware.CSurf())
// app.Use(middleware.Limiter())
// etc...
app.Get("/", func(c *fiber.Ctx) {
c.Send("Hello, World!")
})
app.Listen(3000)
}
I would like to replicate the following express middlewares for fiber this month:
middleware.Morgan
https://github.com/expressjs/morganmiddleware.Session
https://github.com/expressjs/sessionmiddleware.Cors
https://github.com/expressjs/corsmiddleware.CSurf
https://github.com/expressjs/csurfmiddleware.Limiter
https://github.com/nfriedly/express-rate-limit
from fiber.
@koddr, great suggestion. I'm not home right now but I want to finish the middleware structure tomorrow so we can start writing many midware apps.
Regarding the logger idea, it looks like a good tool. I would like a morgan like system for fiber.
I will continue tonight to get the middleware package ready for development.
Middleware plans for feb
- Helmet (security headers)
- Morgan (logger)
- Cors (cors headers)
from fiber.
@Fenny wow, it's good point ๐
One little question about naming of logger: can we change/symlinked it? I mean, Morgan
for logger it's okay, but not really (for some people, who doesn't know Node.js ecosystem).
Would be great and more understandable โ re-name Morgan
to Logger
and hide info (like easter egg) about it to comments into middleware file ./middleware/logger.go
OR create symlink to this function (to have access to both Morgan()
and Logger()
), If you want to keep this naming.
I know, you have good Node.js background, but sometimes, similar naming (without fallback to understandable) is huge trouble to promote project to all layers of coders around the programming languages (and stacks).
Please, think about it ๐
from fiber.
Agreed ๐
from fiber.
Related Issues (20)
- ๐ [Bug]: Data race on shutdown HOT 8
- ๐ค [Question]: Calling other endpoints without network HOT 7
- ๐ [Bug]: memory session store calculating expirations with uint32 HOT 3
- ๐ค [Question]: Parsing `map` in POST `form` HOT 3
- ๐งน [Maintenance]: Update docs to use a consistent indentation style HOT 4
- ๐งน [Maintenance]: Fix pushed merge-conflict in `/docs/api/middleware/earlydata.md`
- ๐ค [Question]: Is the Ctx.BodyParser missing in v3? HOT 3
- ๐ค [Question]: How can i upgrade websocket in fiber HOT 6
- ๐ค [Question]: can't se my cookie in the browser HOT 1
- ๐ค [Question]: How to use BodyParse in v3 ? HOT 3
- ๐ค [Question]: How can I disable 304 responses with c.SendFile(), c.Download(), or Filesystem middleware? HOT 4
- ๐ [docs]: Fix broken link in FAQ section HOT 1
- How to use Middleware handler HOT 3
- ๐ค [Question]: Why v3 has no option to DisableStartupMessage HOT 2
- ๐ค [Question]: upstream reply with long time HOT 8
- ๐ค [Question]: i get v3 docs are not exactly v3 docs HOT 1
- ๐ [Proposal]: Re-introduce the DisableStartupMessage configuration option in Fiber v3 HOT 2
- ๐ค [Question]: How to disable logger middleware in some endpoints HOT 2
- ๐ [Bug]: Prefork Not Working on Fiber v3 HOT 2
- ๐ [Proposal]: shutdown procedure
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fiber.