diff --git a/cmd/pkgserver/internal/ui/index.html b/cmd/pkgserver/internal/ui/index.html
index 0be0ecc7..d2d71cbd 100644
--- a/cmd/pkgserver/internal/ui/index.html
+++ b/cmd/pkgserver/internal/ui/index.html
@@ -3,9 +3,9 @@
-
+
Hakurei PkgServer
-
+
Hakurei PkgServer
diff --git a/cmd/pkgserver/internal/ui/ui.go b/cmd/pkgserver/internal/ui/ui.go
index fbee1b7f..3fc0d89c 100644
--- a/cmd/pkgserver/internal/ui/ui.go
+++ b/cmd/pkgserver/internal/ui/ui.go
@@ -3,19 +3,7 @@ package ui
import "net/http"
-func serveWebUI(w http.ResponseWriter, r *http.Request) {
- w.Header().Set("Cache-Control", "no-cache, no-store, must-revalidate")
- w.Header().Set("Pragma", "no-cache")
- w.Header().Set("Expires", "0")
- w.Header().Set("X-Content-Type-Options", "nosniff")
- w.Header().Set("X-XSS-Protection", "1")
- w.Header().Set("X-Frame-Options", "DENY")
-
- http.ServeFileFS(w, r, content, "static/index.html")
-}
-
// Register arranges for mux to serve the embedded frontend.
func Register(mux *http.ServeMux) {
- mux.Handle("GET /", http.FileServer(http.FS(content)))
- mux.HandleFunc("GET /{$}", serveWebUI)
+ mux.Handle("GET /", http.FileServer(http.FS(static)))
}
diff --git a/cmd/pkgserver/internal/ui/ui_full.go b/cmd/pkgserver/internal/ui/ui_full.go
index 232f5e65..564787dc 100644
--- a/cmd/pkgserver/internal/ui/ui_full.go
+++ b/cmd/pkgserver/internal/ui/ui_full.go
@@ -2,9 +2,20 @@
package ui
-import "embed"
+import (
+ "embed"
+ "io/fs"
+)
//go:generate tsc
//go:generate cp index.html style.css static
//go:embed static
-var content embed.FS
+var _static embed.FS
+
+var static = func() fs.FS {
+ if f, err := fs.Sub(_static, "static"); err != nil {
+ panic(err)
+ } else {
+ return f
+ }
+}()
diff --git a/cmd/pkgserver/internal/ui/ui_stub.go b/cmd/pkgserver/internal/ui/ui_stub.go
index fea38491..daf010f8 100644
--- a/cmd/pkgserver/internal/ui/ui_stub.go
+++ b/cmd/pkgserver/internal/ui/ui_stub.go
@@ -4,4 +4,4 @@ package ui
import "testing/fstest"
-var content fstest.MapFS
+var static fstest.MapFS