diff options
| author | Colin Wilk <colin@wilk.cx> | 2026-10-30 10:04:02 +0100 |
|---|---|---|
| committer | Colin Wilk <colin@wilk.cx> | 2026-10-30 10:07:43 +0100 |
| commit | b03b00869391cd70ef1e40561f72dffbd2f47b29 (patch) | |
| tree | fd1941854bea58ec464b81ac8b0d8627cbed2e74 /main.go | |
| download | cr-web-b03b00869391cd70ef1e40561f72dffbd2f47b29.tar.gz cr-web-b03b00869391cd70ef1e40561f72dffbd2f47b29.zip | |
Initial Commit
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 49 |
1 files changed, 49 insertions, 0 deletions
@@ -0,0 +1,49 @@ +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()) +} |