package main import ( "flag" "log" "net/http" "os" "path/filepath" "git.max-richter.dev/max/marka/server-new/internal/adapters" "git.max-richter.dev/max/marka/server-new/internal/handler" ) 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") } fsAdapter, err := adapters.NewLocalFsAdapter(absRoot) must(err) http.Handle("/", handler.NewHandler(fsAdapter)) 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) } }