| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- // package serv_pwa -- сервер PWA для клиента
- package serv_pwa
- import (
- "fmt"
- "net/http"
- "os"
- "github.com/maxence-charriere/go-app/v9/pkg/app"
- )
- type hello struct {
- app.Compo
- }
- func (h *hello) Render() app.UI {
- return app.H1().Text("Hello World!")
- }
- // ServPwa -- встренный сервер HTTP для обработки запросов PWA-клиента
- type ServPwa struct {
- }
- // NewServPwa -- возвращает новый PWA-сервер
- func NewServPwa() *ServPwa {
- sf := &ServPwa{}
- return sf
- }
- func (sf *ServPwa) Run() error {
- app.Route("/", &hello{})
- app.RunWhenOnBrowser()
- http.Handle("/", &app.Handler{
- Name: "Hello",
- Description: "An Hello World! example",
- })
- port := os.Getenv("SERVER_HTTP_PORT")
- if port == "" {
- return fmt.Errorf("ServHttp.Run(): env SERVER_HTTP_PORT not defined")
- }
- if err := http.ListenAndServe(port, nil); err != nil {
- return fmt.Errorf("ServHttp.Run(): in serve HTTP, err=\n\t%w", err)
- }
- return nil
- }
|