package main import ( "flag" "log" "net/http" "os" "strings" "time" "git.wilk.cx/cr-browser/registry" "git.wilk.cx/cr-browser/web" ) func main() { httpAddr := flag.String("http", ":8080", "HTTP listen address") flag.Parse() registryURL := os.Getenv("REGISTRY_URL") if registryURL == "" { registryURL = "http://localhost:5000" } extRegistryURL := os.Getenv("EXT_REGISTRY_URL") if extRegistryURL == "" { extRegistryURL = registryURL } registryHost := strings.TrimRight(strings.TrimPrefix(strings.TrimPrefix(extRegistryURL, "https://"), "http://"), "/") provider := ®istry.HTTPProvider{ BaseURL: registryURL, Client: &http.Client{ Timeout: 10 * time.Second, }, } server, err := web.NewServer(provider, registryHost) if err != nil { log.Fatal(err) } httpServer := &http.Server{ Addr: *httpAddr, Handler: server.Handler(), ReadHeaderTimeout: 5 * time.Second, } log.Printf("Listening on %s", *httpAddr) log.Fatal(httpServer.ListenAndServe()) }