This commit is contained in:
loveuer
2024-01-11 22:29:30 +08:00
parent 12ce2a4963
commit 161d16967f
15 changed files with 435 additions and 81 deletions

37
example/body/main.go Normal file
View File

@@ -0,0 +1,37 @@
package main
import (
"log"
"nf"
)
func main() {
app := nf.New()
app.Post("/data", func(c *nf.Ctx) error {
type Req struct {
Name string `json:"name"`
Age int `json:"age"`
}
var (
err error
req = new(Req)
rm = make(map[string]any)
)
if err = c.BodyParser(req); err != nil {
log.Print("err 1:", err)
return c.Status(500).SendString(err.Error())
}
if err = c.BodyParser(&rm); err != nil {
log.Print("err 2:", err)
return c.Status(500).SendString(err.Error())
}
return c.JSON(nf.Map{"rm": rm, "req": req})
})
log.Fatal(app.Run(":19991"))
}

32
example/simple/logger.go Normal file
View File

@@ -0,0 +1,32 @@
package main
import (
"log"
"nf"
"time"
)
func Logger() nf.HandlerFunc {
return func(c *nf.Ctx) error {
// Start timer
t := time.Now()
// Process request
err := c.Next()
// Calculate resolution time
log.Printf("[%d] %s in %v", c.StatusCode, c.Request.RequestURI, time.Since(t))
return err
}
}
func NewRecovery() nf.HandlerFunc {
return func(c *nf.Ctx) error {
defer func() {
if err := recover(); err != nil {
log.Printf("[recovery] %v", err)
}
}()
return c.Next()
}
}

View File

@@ -20,6 +20,7 @@ func main() {
})
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()})
})
@@ -27,11 +28,21 @@ func main() {
v1.Get(
"/name",
func(c *nf.Ctx) error {
c.Params["name"] = "zyp"
c.Locals("name", "zyp")
panic("name")
return c.Next()
},
func(c *nf.Ctx) error {
return c.SendString(fmt.Sprintf("hi, %s", c.Params["name"]))
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")
},
)