package main import ( "errors" "fmt" "log" "nf" "time" ) func main() { app := nf.New() app.Get("/hello", func(c *nf.Ctx) error { return c.SendString("world") }) app.Get("/world", func(c *nf.Ctx) error { return errors.New("nice") }) v1 := app.Group("/v1") v1.Use(NewRecovery()) v1.Get("/hello", func(c *nf.Ctx) error { return c.JSON(nf.Map{"version": "v1", "date": time.Now()}) }) v1.Get( "/name", func(c *nf.Ctx) error { c.Locals("name", "zyp") panic("name") return c.Next() }, func(c *nf.Ctx) error { return c.SendString(fmt.Sprintf("hi, %s", c.Locals("name1"))) }, ) v2 := v1.Group("/v2") v2.Use(Logger()) v2.Get( "/name", func(c *nf.Ctx) error { return c.SendString("hi, loveuer") }, ) log.Fatal(app.Run(":7733")) }