package main import ( "fmt" "gateway/core/node" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/ghttp" "github.com/gogf/gf/v2/util/guid" "os" "os/signal" "strings" "syscall" ) func main() { //node.NewNode().Register("usermodule", "8888", "http://127.0.0.1") var serverCode string = "gatewayDemo" var serverPort int = 8099 closeNotify, err := node.NewNode().Register(serverCode, fmt.Sprintf("%d", serverPort)) if err != nil { panic(err) } go func() { server := g.Server() server.SetPort(serverPort) server.BindHandler("POST:/gatewayDemo/{page}", func(r *ghttp.Request) { r.Response.Header().Set("deductNum", "6") r.Response.Header().Set("ids", strings.Join(getIdArr(20000), ",")) r.Response.Write(map[string]interface{}{ "code": 1, "func": r.Get("page"), "body": r.GetBodyString(), }) }) server.Run() }() quit := make(chan os.Signal, 1) signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM) <-quit closeNotify() } func getIdArr(count int) []string { r := make([]string, 0, count) for i := 0; i < count; i++ { r = append(r, guid.S()) } //id := primitive.NewObjectID().String() //fmt.Println(id) return r }