diff --git a/src/main.go b/src/main.go index ac3d20f..94fd326 100644 --- a/src/main.go +++ b/src/main.go @@ -39,7 +39,6 @@ import ( "os/signal" "strings" "syscall" - "time" "github.com/google/uuid" "github.com/gorilla/csrf" @@ -128,7 +127,9 @@ func main() { ReverseProxyInit() }() - time.Sleep(500 * time.Millisecond) + // Wait for dynamicProxyRouter to be initialized before proceeding + // See ReverseProxyInit() in reverseproxy.go + <-dynamicProxyRouterReady //Start the finalize sequences finalSequence() diff --git a/src/reverseproxy.go b/src/reverseproxy.go index 499d9cf..449bf65 100644 --- a/src/reverseproxy.go +++ b/src/reverseproxy.go @@ -22,7 +22,8 @@ import ( ) var ( - dynamicProxyRouter *dynamicproxy.Router + dynamicProxyRouter *dynamicproxy.Router + dynamicProxyRouterReady = make(chan bool, 1) ) // Add user customizable reverse proxy @@ -128,6 +129,12 @@ func ReverseProxyInit() { } dynamicProxyRouter = dprouter + // Signal that the router is ready + select { + case dynamicProxyRouterReady <- true: + default: + // Channel already has a value, skip + } /*