diff --git a/cmd/csaf_provider/main.go b/cmd/csaf_provider/main.go index daaefb3..53adbc3 100644 --- a/cmd/csaf_provider/main.go +++ b/cmd/csaf_provider/main.go @@ -11,6 +11,7 @@ package main import ( "fmt" "log" + "net/http" "net/http/cgi" "github.com/csaf-poc/csaf_distribution/util" @@ -22,11 +23,6 @@ type options struct { } func main() { - cfg, err := loadConfig() - if err != nil { - log.Fatalf("error: %v\n", err) - } - var opts options parser := flags.NewParser(&opts, flags.Default) parser.Parse() @@ -35,6 +31,14 @@ func main() { return } + cfg, err := loadConfig() + if err != nil { + cgi.Serve(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) { + http.Error(rw, fmt.Sprintf("Config error: %v\n", err), http.StatusInternalServerError) + })) + log.Fatalf("error: %v\n", err) + } + c, err := newController(cfg) if err != nil { log.Fatalf("error: %v\n", err)