Files
smpark.in/Backend/main.go
Stephen Parkinson d093e4709f
All checks were successful
Build and Deploy Website / build (push) Successful in 2m26s
switch to go backend
2026-02-12 20:58:20 -08:00

32 lines
667 B
Go

package main
import (
"log"
"net/http"
"os"
"path/filepath"
)
func main() {
publicDir := "./public"
spaIndex := filepath.Join(publicDir, "app", "index.html")
fs := http.FileServer(http.Dir(publicDir))
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
// Try to serve the static file
path := filepath.Join(publicDir, filepath.Clean(r.URL.Path))
if info, err := os.Stat(path); err == nil && !info.IsDir() {
fs.ServeHTTP(w, r)
return
}
// Fall back to SPA index for client-side routing
http.ServeFile(w, r, spaIndex)
})
addr := ":8080"
log.Printf("Listening on %s", addr)
log.Fatal(http.ListenAndServe(addr, nil))
}