main.go (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | package main
import (
"flag"
"log"
"net"
"net/http"
"strconv"
"go.alanpearce.eu/elgit/config"
"go.alanpearce.eu/elgit/routes"
)
func main() {
var cfg string
flag.StringVar(&cfg, "config", "./config.yaml", "path to config file")
flag.Parse()
log.SetFlags(log.Lshortfile)
c, err := config.Read(cfg)
if err != nil {
log.Fatal(err)
}
if err := UnveilPaths([]string{
c.Dirs.Static,
c.Repo.Root,
},
"r"); err != nil {
log.Fatalf("unveil: %s", err)
}
mux := routes.Handlers(c)
addr := net.JoinHostPort(c.Server.Host, strconv.FormatInt(int64(c.Server.Port), 10))
log.Println("starting server on", addr)
log.Fatal(http.ListenAndServe(addr, mux))
}
|