1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- package main
- import (
- "flag"
- "fmt"
- "net/http"
- "github.com/tal-tech/go-zero/core/logx"
- "github.com/tal-tech/go-zero/core/service"
- "github.com/tal-tech/go-zero/rest"
- "github.com/tal-tech/go-zero/rest/httpx"
- )
- var (
- port = flag.Int("port", 3333, "the port to listen")
- timeout = flag.Int64("timeout", 0, "timeout of milliseconds")
- )
- type Request struct {
- User string `json:"user"`
- }
- func handleGet(w http.ResponseWriter, r *http.Request) {
- }
- func handlePost(w http.ResponseWriter, r *http.Request) {
- var req Request
- err := httpx.Parse(r, &req)
- if err != nil {
- http.Error(w, err.Error(), http.StatusBadRequest)
- return
- }
- httpx.OkJson(w, fmt.Sprintf("Content-Length: %d, UserLen: %d", r.ContentLength, len(req.User)))
- }
- func main() {
- flag.Parse()
- engine := rest.MustNewServer(rest.RestConf{
- ServiceConf: service.ServiceConf{
- Log: logx.LogConf{
- Mode: "console",
- },
- },
- Port: *port,
- Timeout: *timeout,
- MaxConns: 500,
- MaxBytes: 50,
- CpuThreshold: 500,
- })
- defer engine.Stop()
- engine.AddRoute(rest.Route{
- Method: http.MethodGet,
- Path: "/",
- Handler: handleGet,
- })
- engine.AddRoute(rest.Route{
- Method: http.MethodPost,
- Path: "/",
- Handler: handlePost,
- })
- engine.Start()
- }
|