mirror of https://github.com/gofiber/fiber.git
* Update pull_request_template.md
* Update v3-changes.md
* Update CONTRIBUTING.md (#2752)
Grammar correction.
* chore(encryptcookie)!: update default config (#2753)
* chore(encryptcookie)!: update default config
docs(encryptcookie): enhance documentation and examples
BREAKING CHANGE: removed the hardcoded "csrf_" from the Except.
* docs(encryptcookie): reads or modifies cookies
* chore(encryptcookie): csrf config example
* docs(encryptcookie): md table spacing
* build(deps): bump actions/setup-go from 4 to 5 (#2754)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/setup-go
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* 🩹 middleware/logger/: log client IP address by default (#2755)
* middleware/logger: Log client IP address by default.
* Update doc.
* fix: don't constrain middlewares' context-keys to strings 🐛 (#2751)
* Revert "Revert "🐛 requestid.Config.ContextKey is interface{} (#2369)" (#2742)"
This reverts commit
|
||
---|---|---|
.. | ||
README.md | ||
adaptor.go | ||
adaptor_test.go |
README.md
Adaptor
Converter for net/http handlers to/from Fiber request handlers, special thanks to @arsmn!
Install
go get -u github.com/gofiber/fiber/v3
go get -u github.com/gofiber/adaptor/v2
Functions
Name | Signature | Description |
---|---|---|
HTTPHandler | HTTPHandler(h http.Handler) fiber.Handler |
http.Handler -> fiber.Handler |
HTTPHandlerFunc | HTTPHandlerFunc(h http.HandlerFunc) fiber.Handler |
http.HandlerFunc -> fiber.Handler |
HTTPMiddleware | HTTPHandlerFunc(mw func(http.Handler) http.Handler) fiber.Handler |
func(http.Handler) http.Handler -> fiber.Handler |
FiberHandler | FiberHandler(h fiber.Handler) http.Handler |
fiber.Handler -> http.Handler |
FiberHandlerFunc | FiberHandlerFunc(h fiber.Handler) http.HandlerFunc |
fiber.Handler -> http.HandlerFunc |
FiberApp | FiberApp(app *fiber.App) http.HandlerFunc |
Fiber app -> http.HandlerFunc |
net/http to Fiber
package main
import (
"fmt"
"net/http"
"github.com/gofiber/adaptor/v2"
"github.com/gofiber/fiber/v3"
)
func main() {
// New fiber app
app := fiber.New()
// http.Handler -> fiber.Handler
app.Get("/", adaptor.HTTPHandler(handler(greet)))
// http.HandlerFunc -> fiber.Handler
app.Get("/func", adaptor.HTTPHandlerFunc(greet))
// Listen on port 3000
app.Listen(":3000")
}
func handler(f http.HandlerFunc) http.Handler {
return http.HandlerFunc(f)
}
func greet(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "Hello World!")
}
net/http middleware to Fiber
package main
import (
"log"
"net/http"
"github.com/gofiber/adaptor/v2"
"github.com/gofiber/fiber/v3"
)
func main() {
// New fiber app
app := fiber.New()
// http middleware -> fiber.Handler
app.Use(adaptor.HTTPMiddleware(logMiddleware))
// Listen on port 3000
app.Listen(":3000")
}
func logMiddleware(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
log.Println("log middleware")
next.ServeHTTP(w, r)
})
}
Fiber Handler to net/http
package main
import (
"net/http"
"github.com/gofiber/adaptor/v2"
"github.com/gofiber/fiber/v3"
)
func main() {
// fiber.Handler -> http.Handler
http.Handle("/", adaptor.FiberHandler(greet))
// fiber.Handler -> http.HandlerFunc
http.HandleFunc("/func", adaptor.FiberHandlerFunc(greet))
// Listen on port 3000
http.ListenAndServe(":3000", nil)
}
func greet(c fiber.Ctx) error {
return c.SendString("Hello World!")
}
Fiber App to net/http
package main
import (
"github.com/gofiber/adaptor/v2"
"github.com/gofiber/fiber/v3"
"net/http"
)
func main() {
app := fiber.New()
app.Get("/greet", greet)
// Listen on port 3000
http.ListenAndServe(":3000", adaptor.FiberApp(app))
}
func greet(c fiber.Ctx) error {
return c.SendString("Hello World!")
}