package main import ( "flag" "log" "net/http" "os" "path/filepath" "git.max-richter.dev/max/marka/server/internal/handlers" ) func main() { root := flag.String("root", ".", "filesystem root to serve") addr := flag.String("addr", ":8080", "listen address") flag.Parse() absRoot, err := filepath.Abs(*root) must(err) info, err := os.Stat(absRoot) must(err) if !info.IsDir() { log.Fatal("root is not a directory") } // Catch-all route from "/" → serve files rooted in absRoot http.Handle("/", handlers.NewFile(absRoot)) log.Printf("listening on %s, root=%s", *addr, absRoot) log.Fatal(http.ListenAndServe(*addr, nil)) } func must(err error) { if err != nil { log.Fatal(err) } }