123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package main
- import (
- "context"
- "embed"
- "flag"
- "git.nspix.com/golang/kos/entry/cli"
- "git.nspix.com/golang/kos/entry/http"
- httpkg "net/http"
- "git.nspix.com/golang/kos"
- )
- var webDir embed.FS
- type subServer struct {
- }
- type users struct {
- Name string `json:"name"`
- Age int `json:"age"`
- Tags []string `json:"tags"`
- }
- func (s *subServer) Start(ctx context.Context) (err error) {
- kos.Http().Root("/web", httpkg.FS(webDir))
- kos.Http().Handle(httpkg.MethodGet, "/hello", func(ctx *http.Context) (err error) {
- return ctx.Success("Hello World")
- })
- kos.Command().Handle("/test", "test command", func(ctx *cli.Context) (err error) {
- return ctx.Success([][]string{
- []string{"NAME", "AGE"},
- []string{"SSS", "aaa"},
- })
- })
- kos.Command().Handle("/users", "test command", func(ctx *cli.Context) (err error) {
- return ctx.Success([]*users{
- {Name: "Zhan", Age: 10, Tags: []string{"a", "b"}},
- {Name: "Lisi", Age: 15, Tags: []string{"c", "d"}},
- })
- })
- return
- }
- func (s *subServer) Stop() (err error) {
- return
- }
- func main() {
- flag.Parse()
- svr := kos.Init(
- kos.WithName("git.nspix.com/golang/test", "0.0.1"),
- kos.WithServer(&subServer{}),
- )
- svr.Run()
- }
|