fiber/middleware/redirect
M. Efe Çetin 10d6f69a89
v3 (feature): new redirection methods (#2014)
*  v3 (feature): new redirection methods

* add flash messages

* withinput, parsing flash message

* add tests

* add benchmarks

* gosec issues

* fix tests

* fix tests

* fix performance issues

* fix performance issues

* optimization.

* better names

* fix tests

* Update router.go

* fix

* fix old messaages with flash messages behavior, add new test case with req

* complete some reviews

* add pool for redirection.

* use constant

* update

*  v3 (feature): new redirection methods

* fix tests, optimize cookie parsing (9 allocs -> 1 alloc)

* test case for message includes comma

* cleanup

* optimization.

* some improvements for the redirect feature

* fix Benchmark_Redirect_Route_WithFlashMessages

* some improvements for the redirect feature

* Update redirect.go

* improve message parsing & test case

Co-authored-by: René Werner <rene@gofiber.io>
2022-09-23 08:17:34 +02:00
..
README.md Merge remote-tracking branch 'origin/master' into v3-beta 2022-08-19 14:33:31 +03:00
redirect.go v3 (feature): new redirection methods (#2014) 2022-09-23 08:17:34 +02:00
redirect_test.go v3 (feature): convert fiber.Ctx type to interface (#1928) 2022-07-13 07:48:29 +02:00

README.md

Redirect

Release Discord Test Security Linter

Install

go get -u github.com/gofiber/fiber/v3
go get -u github.com/gofiber/redirect/v2

Example

package main

import (
  "github.com/gofiber/fiber/v3"
  "github.com/gofiber/redirect/v2"
)

func main() {
  app := fiber.New()
  
  app.Use(redirect.New(redirect.Config{
    Rules: map[string]string{
      "/old":   "/new",
      "/old/*": "/new/$1",
    },
    StatusCode: 301,
  }))
  
  app.Get("/new", func(c fiber.Ctx) error {
    return c.SendString("Hello, World!")
  })
  app.Get("/new/*", func(c fiber.Ctx) error {
    return c.SendString("Wildcard: " + c.Params("*"))
  })
  
  app.Listen(":3000")
}

Test

curl http://localhost:3000/old
curl http://localhost:3000/old/hello