Compare commits

..

2 Commits

Author SHA1 Message Date
9530fa863f feat: ctx add SendStatus 2024-04-10 11:24:17 +08:00
f3fb259eee feat: ctx add MultipartForm func 2024-03-11 16:28:33 +08:00
3 changed files with 51 additions and 1 deletions

13
ctx.go
View File

@ -161,6 +161,14 @@ func (c *Ctx) FormFile(key string) (*multipart.FileHeader, error) {
return fh, err
}
func (c *Ctx) MultipartForm() (*multipart.Form, error) {
if err := c.Request.ParseMultipartForm(c.app.config.BodyLimit); err != nil {
return nil, err
}
return c.Request.MultipartForm, nil
}
func (c *Ctx) Query(key string) string {
return c.Request.URL.Query().Get(key)
}
@ -254,6 +262,11 @@ func (c *Ctx) SetHeader(key string, value string) {
c.writermem.Header().Set(key, value)
}
func (c *Ctx) SendStatus(code int) error {
c.writermem.WriteHeader(code)
return nil
}
func (c *Ctx) SendString(data string) error {
c.SetHeader("Content-Type", "text/plain")
_, err := c.Write([]byte(data))

View File

@ -6,7 +6,11 @@ import (
)
func main() {
app := nf.New(nf.Config{EnableNotImplementHandler: true})
app := nf.New(nf.Config{})
app.Get("/ok", func(c *nf.Ctx) error {
return c.SendStatus(200)
})
api := app.Group("/api")
api.Get("/1", func(c *nf.Ctx) error {

View File

@ -0,0 +1,33 @@
package main
import (
"github.com/loveuer/nf"
"github.com/loveuer/nf/nft/resp"
"log"
)
func main() {
app := nf.New(nf.Config{BodyLimit: 10 * 1024 * 1024})
app.Post("/upload", func(c *nf.Ctx) error {
fs, err := c.MultipartForm()
if err != nil {
return resp.Resp400(c, err.Error())
}
fm := make(map[string][]string)
for key := range fs.File {
if _, exist := fm[key]; !exist {
fm[key] = make([]string, 0)
}
for f := range fs.File[key] {
fm[key] = append(fm[key], fs.File[key][f].Filename)
}
}
return resp.Resp200(c, nf.Map{"value": fs.Value, "files": fm})
})
log.Fatal(app.Run(":13322"))
}