Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
de3ce47671 | |||
1c9c21e294 |
5
ctx.go
5
ctx.go
@ -5,7 +5,6 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"mime/multipart"
|
||||
"net"
|
||||
"net/http"
|
||||
@ -144,8 +143,6 @@ func (c *Ctx) BodyParser(out interface{}) error {
|
||||
ctype = strings.ToLower(c.Request.Header.Get("Content-Type"))
|
||||
)
|
||||
|
||||
log.Printf("BodyParser: Content-Type=%s", ctype)
|
||||
|
||||
ctype = parseVendorSpecificContentType(ctype)
|
||||
|
||||
ctypeEnd := strings.IndexByte(ctype, ';')
|
||||
@ -156,9 +153,9 @@ func (c *Ctx) BodyParser(out interface{}) error {
|
||||
if strings.HasSuffix(ctype, "json") {
|
||||
bs, err := io.ReadAll(c.Request.Body)
|
||||
if err != nil {
|
||||
log.Printf("BodyParser: read all err=%v", err)
|
||||
return err
|
||||
}
|
||||
_ = c.Request.Body.Close()
|
||||
|
||||
c.Request.Body = io.NopCloser(bytes.NewReader(bs))
|
||||
|
||||
|
2
nf.go
2
nf.go
@ -53,7 +53,7 @@ func New(config ...Config) *App {
|
||||
app.config = defaultConfig
|
||||
}
|
||||
|
||||
app.RouterGroup = &RouterGroup{app: app}
|
||||
app.RouterGroup = &RouterGroup{app: app, prefix: "/"}
|
||||
app.groups = []*RouterGroup{app.RouterGroup}
|
||||
|
||||
if !app.config.DisableLogger {
|
||||
|
@ -48,7 +48,7 @@ func (r *router) getRoute(method string, path string) (*_node, map[string]string
|
||||
root, ok := r.roots[method]
|
||||
|
||||
if !ok {
|
||||
return nil, nil
|
||||
return &_node{}, nil
|
||||
}
|
||||
|
||||
n := root.search(searchParts, 0)
|
||||
|
@ -4,3 +4,11 @@ GET http://127.0.0.1/hello/nf
|
||||
|
||||
### test resp error
|
||||
GET http://127.0.0.1/error
|
||||
|
||||
### test basic post
|
||||
POST http://127.0.0.1/data
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"name": "nice"
|
||||
}
|
@ -5,7 +5,6 @@ import (
|
||||
"github.com/loveuer/nf"
|
||||
"github.com/loveuer/nf/nft/resp"
|
||||
"log"
|
||||
"net"
|
||||
"time"
|
||||
)
|
||||
|
||||
@ -25,7 +24,27 @@ func main() {
|
||||
app.Get("/error", func(c *nf.Ctx) error {
|
||||
return resp.RespError(c, resp.NewError(404, "not found", errors.New("NNNot Found"), nil))
|
||||
})
|
||||
|
||||
ln, _ := net.Listen("tcp", ":80")
|
||||
log.Fatal(app.RunListener(ln))
|
||||
app.Post("/data", func(c *nf.Ctx) error {
|
||||
type Req struct {
|
||||
Name string `json:"name"`
|
||||
}
|
||||
|
||||
var (
|
||||
err error
|
||||
req = new(Req)
|
||||
rm = make(map[string]any)
|
||||
)
|
||||
|
||||
if err = c.BodyParser(req); err != nil {
|
||||
return c.JSON(nf.Map{"status": 400, "msg": err.Error()})
|
||||
}
|
||||
|
||||
if err = c.BodyParser(&rm); err != nil {
|
||||
return c.JSON(nf.Map{"status": 400, "msg": err.Error()})
|
||||
}
|
||||
|
||||
return c.JSON(nf.Map{"status": 200, "data": req, "map": rm})
|
||||
})
|
||||
|
||||
log.Fatal(app.Run(":80"))
|
||||
}
|
||||
|
24
xtest/midd/main.go
Normal file
24
xtest/midd/main.go
Normal file
@ -0,0 +1,24 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/loveuer/nf"
|
||||
"log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
app := nf.New()
|
||||
|
||||
app.Use(ml())
|
||||
app.Get("/hello", func(c *nf.Ctx) error {
|
||||
return c.SendString("world")
|
||||
})
|
||||
|
||||
log.Fatal(app.Run(":7777"))
|
||||
}
|
||||
|
||||
func ml() nf.HandlerFunc {
|
||||
return func(c *nf.Ctx) error {
|
||||
log.Printf("[ML] [%s] - [%s]", c.Method, c.Path())
|
||||
return c.Next()
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user