// Command refapp serves the bakeoff's reference fixture (package ref). // It is not a contestant, and builders never see it. package main import ( "flag" "log" "net" "net/http" "os" "bakeoff/harness/refapp/ref" ) func main() { listen := flag.String("listen", "", "TCP address, e.g. 127.0.0.1:8080") socket := flag.String("socket", "", "unix socket path") flag.String("db", "", "ignored: refapp keeps data in memory") shared := flag.String("shared", "shared", "directory holding base.css and index.css") flag.Parse() var ln net.Listener var err error origin := "" switch { case *socket != "": os.Remove(*socket) ln, err = net.Listen("unix", *socket) origin = "https://" + os.Getenv("CARLOS_HOST") case *listen != "": ln, err = net.Listen("tcp", *listen) origin = "http://" + *listen default: log.Fatal("need --listen or --socket") } if err != nil { log.Fatal(err) } log.Fatal(http.Serve(ln, ref.NewApp(origin, *shared))) }