diff options
| -rw-r--r-- | server/serve_embedded.go | 20 | ||||
| -rw-r--r-- | server/serve_fs.go | 11 | ||||
| -rw-r--r-- | server/server.go | 13 |
3 files changed, 33 insertions, 11 deletions
diff --git a/server/serve_embedded.go b/server/serve_embedded.go new file mode 100644 index 0000000..fb39d21 --- /dev/null +++ b/server/serve_embedded.go @@ -0,0 +1,20 @@ +//go:build embed + +package server + +import ( + "embed" + "io/fs" + "net/http" +) + +//go:embed web +var web embed.FS + +func serveFiles() { + sub, err := fs.Sub(web, "web") + if err != nil { + panic(err) + } + http.Handle("/", http.FileServer(http.FS(sub))) +} diff --git a/server/serve_fs.go b/server/serve_fs.go new file mode 100644 index 0000000..b11918b --- /dev/null +++ b/server/serve_fs.go @@ -0,0 +1,11 @@ +//go:build !embed + +package server + +import ( + "net/http" +) + +func serveFiles() { + http.Handle("/", http.FileServer(http.Dir("server/web"))) +} diff --git a/server/server.go b/server/server.go index f6773cb..bc5b77d 100644 --- a/server/server.go +++ b/server/server.go @@ -1,9 +1,7 @@ package server import ( - "embed" "fmt" - "io/fs" "net" "net/http" "sakura/cfg" @@ -13,22 +11,15 @@ import ( "github.com/spf13/pflag" ) -//go:embed web -var web embed.FS - func Start() { pflag.Parse() fmt.Println("Server started") addr := net.JoinHostPort(*cfg.Host, strconv.Itoa(*cfg.Port)) fmt.Printf("Listening on %s\n", addr) - sub, err := fs.Sub(web, "web") - if err != nil { - panic(err) - } - http.Handle("/", http.FileServer(http.FS(sub))) + serveFiles() http.HandleFunc(cfg.CreateMethod+" "+cfg.CreatePath, api.GameCreate) http.HandleFunc(cfg.ConnectMethod+" "+cfg.ConnectPath, api.GameConnect) - err = http.ListenAndServe(addr, nil) + err := http.ListenAndServe(addr, nil) if err != nil { panic(err) } |
