main.go 669 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package main
  2. import (
  3. "context"
  4. "embed"
  5. "flag"
  6. "git.nspix.com/golang/kos/entry/http"
  7. httpkg "net/http"
  8. "git.nspix.com/golang/kos"
  9. )
  10. //go:embed web
  11. var webDir embed.FS
  12. type subServer struct {
  13. }
  14. func (s *subServer) Start(ctx context.Context) (err error) {
  15. kos.Http().Root("/web", httpkg.FS(webDir))
  16. kos.Http().Handle(httpkg.MethodGet, "/hello", func(ctx *http.Context) (err error) {
  17. return ctx.Success("Hello World")
  18. })
  19. return
  20. }
  21. func (s *subServer) Stop() (err error) {
  22. return
  23. }
  24. func main() {
  25. flag.Parse()
  26. svr := kos.Init(
  27. kos.WithName("git.nspix.com/golang/test", "0.0.1"),
  28. kos.WithServer(&subServer{}),
  29. kos.WithDirectHttp(),
  30. )
  31. svr.Run()
  32. }