summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorewy <ewy0@protonmail.com>2026-09-22 18:19:32 +0200
committerewy <ewy0@protonmail.com>2026-09-22 18:19:32 +0200
commit283f6e19741b262c46a8a2ba3f7ba81f01519d70 (patch)
treee7a93e856772c8db0d6985fe3c7850a2710b6ba8 /server
parent583644a1442d5125d83b5a1bb1ae069b35e84fd0 (diff)
add build tag for embedding server pages and disable it by default
Diffstat (limited to 'server')
-rw-r--r--server/serve_embedded.go20
-rw-r--r--server/serve_fs.go11
-rw-r--r--server/server.go13
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)
}