code: func (h *Handler) WaitForReady() bool {
  	// there is no ready func configured, so we return immediately
  	if h.readyFunc == nil {
  		return true
  	}
  
  	timeout := time.After(timeToWaitForReady)
  	for !h.readyFunc() {
  		select {
  		case <-time.After(100 * time.Millisecond):
  		case <-timeout:
  			return h.readyFunc()
  		}
  	}
  	return true
  }
docs: // WaitForReady will wait for the readyFunc (if registered) to return ready, and in case of timeout, will return false.