32 lines
729 B
Go
32 lines
729 B
Go
package main
|
|
|
|
import (
|
|
"errors"
|
|
"github.com/loveuer/nf"
|
|
"github.com/loveuer/nf/nft/resp"
|
|
"log"
|
|
"net"
|
|
"time"
|
|
)
|
|
|
|
func main() {
|
|
app := nf.New(nf.Config{EnableNotImplementHandler: true})
|
|
|
|
app.Get("/hello/:name", func(c *nf.Ctx) error {
|
|
name := c.Param("name")
|
|
return c.JSON(nf.Map{"status": 200, "data": "hello, " + name})
|
|
})
|
|
app.Get("/not_impl")
|
|
app.Patch("/world", func(c *nf.Ctx) error {
|
|
time.Sleep(5 * time.Second)
|
|
c.Status(404)
|
|
return c.JSON(nf.Map{"method": c.Method, "status": c.StatusCode})
|
|
})
|
|
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))
|
|
}
|